Pagini recente » Cod sursa (job #2093086) | Istoria paginii runda/oji2005_c10/clasament | Cod sursa (job #1795414) | Cod sursa (job #2745995) | Cod sursa (job #2062621)
#include<fstream>
#include<iostream>
#define DN 500005
using namespace std;
ifstream fin("reguli.in");
ofstream fout("reguli.out");
long long x[DN],a[DN];
int n,pr[DN],k,m;
int main()
{
fin>>n;
for(int i=0;i<n;i++)
fin>>x[i];
for(int i=1;i<n;i++)
a[i]=x[i]-x[i-1];
for(int i=2;i<n;i++)
{
while(k&&a[k+1]!=a[i])
k=pr[k];
if(a[k+1]==a[i])
k++;
pr[i]=k;
}
m=n-1;
for(int i=n-1;i>=1;i--)
if(pr[i]==1)
{
m=i-1;
break;
}
fout<<m<<'\n';
for(int i=1;i<=m;i++)
fout<<a[i]<<'\n';
}