题意:输入n,然后输入n个数,在n个数中0或1,0代表这头牛向左看,1代表这头牛向右看,问最后最少损失多少牛奶。

思路;贪心,连着的0可以不损失,一旦插入1就会损失牛奶。

cf C Milking cows_i++cf C Milking cows_编程_02
 1 #include <cstdio>
 2 #include <cstring>
 3 #include <algorithm>
 4 #define ll __int64
 5 using namespace std;
 6 
 7 int a[2000001];
 8 int main()
 9 {
10     int n;
11     while(scanf("%d",&n)!=EOF)
12     {
13         ll ans=0,cnt=0;
14         for(int i=1; i<=n; i++)
15         {
16             scanf("%d",&a[i]);
17             cnt+=a[i];
18             if(!a[i]) ans+=cnt;
19         }
20         printf("%I64d\n",ans);
21     }
22     return 0;
23 }
View Code