首页 > 代码库 > codeforce Number of Ways(暴力)
codeforce Number of Ways(暴力)
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 #define N 500005 6 using namespace std; 7 typedef long long LL; 8 LL prefix[N], suffix[N], num[N]; 9 LL cntSuf[N];10 int main(){11 int n;12 scanf("%d", &n);13 for(int i=1; i<=n; ++i){14 scanf("%lld", &num[i]);15 prefix[i]=prefix[i-1]+num[i];//前缀和16 } 17 for(int i=n; i>=1; --i)18 suffix[i]=suffix[i+1]+num[i];//后缀和19 LL s=prefix[n]/3;20 if(prefix[n]%3!=0){21 printf("0\n");22 return 0;23 }24 LL ans=0; 25 for(int i=1; i<=n; ++i) 26 if(suffix[n-i+1]==s) cntSuf[n-i+1]=cntSuf[n-i+2]+1;27 else cntSuf[n-i+1]=cntSuf[n-i+2];28 for(int i=1; i<=n; ++i)29 if(prefix[i]==s) ans+=cntSuf[i+2];30 printf("%lld\n", ans);31 return 0;32 }
codeforce Number of Ways(暴力)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。