天天看點

Codeforces 383 A. Milking cows(貪心)

這題題意就是 1表示牛向右看,0表示牛向左看,怎麼殺牛,能讓牛看到自己同伴被殺受到的驚吓最小。思路就是,先從左往右,把向右看的的牛殺掉,(向右看的牛會看到,是以會有驚吓),再從右往左,把向左看的牛殺掉。(這次是沒有驚吓的)。首先從左往右掃,遇到1(向右看的牛)先用一個ans變量記錄下加1,(因為目前還沒有牛看到同伴被殺)直到遇到0(左看的)sum+=ans,這樣 ,一遍下來sum就是驚吓牛的總數。

#include<cstdio>
int main()
{
    int n;
    long long ans=,sum=;
    scanf("%d",&n);
    for(int i=;i<n;i++)
    {
        long long a;
        scanf("%lld",&a);
        if(a)
            ans++;
        else
            sum+=ans;
    }
    printf("%lld\n",sum);
    return ;
}