#include "bits/stdc++.h"
using namespace std;
#define ll long long
int main()
{
ios_base::sync_with_stdio(0); cin.tie(0);
int n; cin>>n;
vector<ll> a(n+1);
ll suma=0;
for(int i=1; i<=n; i++) {cin>>a[i]; suma+=a[i];}
vector<ll> dziel;
for(ll i=1; i*i<=suma; i++)
{
if(suma%i==0)
{
dziel.push_back(i);
if(suma/i!=i) dziel.push_back(suma/i);
}
}
//cout<<"XDD"<<endl;
sort(dziel.rbegin(), dziel.rend());
for(int j=0; j<(int)dziel.size(); j++)
{
ll k=dziel[j];
if(k>n) continue;
bool czy=true;
vector<ll> dp(n+1);
for(ll i=1; i<=n; i++)
{
dp[i]=a[i]-a[i-1];
if(i-k>=0) dp[i]+=dp[i-k];
}
//cout<<"XDD"<<endl;
for(ll i=0; i<=n-k+1; i++)
{
if(dp[i]<0) czy=false;
}
//cout<<"XDD"<<endl;
for(ll i=n-k+2; i<=n; i++)
{
if(dp[i]!=0) czy=false;
}
//cout<<"XDD"<<endl;
if(czy==true)
{
cout<<k<<'\n';
return 0;
}
}
cout<<1;
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | #include "bits/stdc++.h" using namespace std; #define ll long long int main() { ios_base::sync_with_stdio(0); cin.tie(0); int n; cin>>n; vector<ll> a(n+1); ll suma=0; for(int i=1; i<=n; i++) {cin>>a[i]; suma+=a[i];} vector<ll> dziel; for(ll i=1; i*i<=suma; i++) { if(suma%i==0) { dziel.push_back(i); if(suma/i!=i) dziel.push_back(suma/i); } } //cout<<"XDD"<<endl; sort(dziel.rbegin(), dziel.rend()); for(int j=0; j<(int)dziel.size(); j++) { ll k=dziel[j]; if(k>n) continue; bool czy=true; vector<ll> dp(n+1); for(ll i=1; i<=n; i++) { dp[i]=a[i]-a[i-1]; if(i-k>=0) dp[i]+=dp[i-k]; } //cout<<"XDD"<<endl; for(ll i=0; i<=n-k+1; i++) { if(dp[i]<0) czy=false; } //cout<<"XDD"<<endl; for(ll i=n-k+2; i<=n; i++) { if(dp[i]!=0) czy=false; } //cout<<"XDD"<<endl; if(czy==true) { cout<<k<<'\n'; return 0; } } cout<<1; } |
English