CF18C Stripe

CF18C Stripe

洛谷传送门

题意翻译

给定一整数n,下面有n个数a[i],求将该数列分割成两个非空数列且两个数列内数字的和相等的方案数 1<=n<=10^5 a[i]的绝对值不大于10000

Translated by 稀神探女


题解:

前缀和,枚举端点。

注意不能=n,因为要非空。

又刷水了。

代码:

#include<cstdio>
using namespace std;
const int maxn=1e5+5;
int n,all,ans;
int sum[maxn],a[maxn];
int main()
{
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
        scanf("%d",&a[i]);
    for(int i=1;i<=n;i++)
    {
        sum[i]=sum[i-1]+a[i];
        all+=a[i];
    }
    for(int i=1;i<n;i++)
        if(sum[i]==all-sum[i])
            ans++;
    printf("%d\n",ans);
    return 0;
}
posted @ 2020-11-29 15:36  Seaway-Fu  阅读(85)  评论(0编辑  收藏  举报