C. Milking cows
time limit per test
memory limit per test
input
output
n cows sitting in a row, numbered from 1 to n
Iahub can decide the order in which he milks the cows. But he must milk each cow exactly once. Iahub wants to lose as little milk as possible. Print the minimum amount of milk that is lost.
Input
n (1 ≤ n ≤ 200000). The second line contains n integers a1, a2, ..., an, where ai is 0 if the cow number i is facing left, and 1
Output
Print a single integer, the minimum amount of lost milk.
%lld specifier to read or write 64-bit integers in С++. It is preferred to use the cin, cout streams or the %I64d
Examples
input
4 0 0 1 0
output
1
input
5 1 0 1 0 1
output
3
先将脸朝左的按照从右到左的顺序挤掉,再将朝右的按照从左到右挤掉。损失数只要计算前缀和即可
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <map>
#include <vector>
#include <queue>
#include <cmath>
#define maxn 1000005
#define MOD 1000000007
#define INF 1e9
using namespace std;
typedef long long ll;
int main(){
int n, a, t = 0;
ll ans = 0;
scanf("%d", &n);
for(int i = 0; i < n; i++){
scanf("%d", &a);
t += a;
if(a == 0)
ans += t;
}
cout << ans << endl;
return 0;
}