CDOJ 每周一题(div2)backlight(前缀和)

首先我们考虑什么情况下可以避免“焦虑度”的产生,这一点很容易就能想到,只要当选取的那几个人都是朝着一个方向的且一列人从背后方向到朝向的方向依次蹲下便可以避免”焦虑度“。
与此相反,面对的人无论如何都肯定会产生”焦虑度“,那么我们只需要统计面对的对数便可得到答案。
#include<cstdio> #include<iomanip> #include<cstring> #include<algorithm> #include<iostream> #include<cmath> #include<vector> #include<set> #include<queue> #include<limits.h> #include<string.h> #include<map> #include<list> #include<bits/stdc++.h> using namespace std; typedef long long ll; #define inf int(0x3f3f3f3f) #define mod int(1e9+7) #define eps double(1e-6) #define pi acos(-1.0) #define lson root << 1 #define rson root << 1 | 1 int n; int a[1000005]; ll pre[1000005]; int main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin>>n; for(int i=0;i<n;i++) cin>>a[i]; int cnt=0; ll ans=0; for(int i=0;i<n;i++) { if(a[i]==1) cnt++; else ans+=cnt; // cout<<cnt<<endl; } cout<<ans<<endl; }
发表评论