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;
		}
	}
}