站外题求助
  • 板块学术版
  • 楼主Greeper
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/8/15 14:50
  • 上次更新2024/8/15 14:55:09
查看原帖
站外题求助
1311900
Greeper楼主2024/8/15 14:50

本题定义一个数组的元素i在等于其他元素和时称为完美数组,求一个数组的前缀数组(如[1,2,3]的前缀数组是[1,2],[1,2,3])中有几个完美数组 代码:

#include<bits/stdc++.h>
using namespace std;
long long a[100005];
int n;
int main()
{
    // freopen("xxx.in","r",stdin);
    // freopen("xxx.out","w",stdout);
    cin>>n;
    long long x;
    for(int i=1;i<=n;i++)
    {
        cin>>x;
        a[i]=x+a[i-1];
    }
    long long ans=0;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=i;j++)
            if(a[j]-a[j-1]==a[j-1]+a[i]-a[j]){ans++;break;}
    cout<<ans;
    return 0;
}

求O(n)做法

2024/8/15 14:50
加载中...