Pagini recente » Cod sursa (job #325723) | Cod sursa (job #3255704) | Cod sursa (job #1635907) | Cod sursa (job #1364527) | Cod sursa (job #2262050)
#include <bits/stdc++.h>
using namespace std;
long long v[500001];
int pee[500001];
int main()
{
int n,i,k,rez;
long long x,y;
ios::sync_with_stdio(false);
ifstream in("reguli.in");
ofstream out("reguli.out");
in>>n>>x;
for(i=2; i<=n; i++)
{
in>>y;
v[i-1]=y-x;
x=y;
}
n--;
k=0;
for(i=2; i<=n; i++)
{
while(k && v[k+1]!=v[i])
k=pee[k];
if(v[k+1]==v[i])
++k;
pee[i]=k;
}
rez=0;
for(i=2; i<=n; i++)
if(i%(i-pee[i])==0 && pee[i] && n-i<i-pee[i])
rez=i-pee[i];
if(!rez)
rez=n;
out<<rez<<"\n";
for(i=1; i<=rez; i++)
out<<v[i]<<"\n";
return 0;
}