#include <bits/stdc++.h>
#define int long long
using namespace std;
int fun(vector<int> tab, int k)
{
tab.push_back(0);
int n=tab.size(), obc=0;
vector<int> pref;
for(int a=0; a<=n*2; a++)
pref.push_back(0);
for(int a=0; a<n; a++)
{
obc+=pref[a];
if(obc>tab[a])
return 0;
pref[a+k]=-1*(tab[a]-obc);
obc=tab[a];
}
return 1;
}
main()
{
vector<int> tab;
int n, p;
cin>>n;
for(int a=0; a<n; a++){
cin>>p;
tab.push_back(p);
}
for(int a=n; a>=1; a--)
{
if(fun(tab,a)==1){
cout<<a;
return 0;
}
}
}
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 | #include <bits/stdc++.h> #define int long long using namespace std; int fun(vector<int> tab, int k) { tab.push_back(0); int n=tab.size(), obc=0; vector<int> pref; for(int a=0; a<=n*2; a++) pref.push_back(0); for(int a=0; a<n; a++) { obc+=pref[a]; if(obc>tab[a]) return 0; pref[a+k]=-1*(tab[a]-obc); obc=tab[a]; } return 1; } main() { vector<int> tab; int n, p; cin>>n; for(int a=0; a<n; a++){ cin>>p; tab.push_back(p); } for(int a=n; a>=1; a--) { if(fun(tab,a)==1){ cout<<a; return 0; } } } |
English