這題題意就是 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 ;
}