Pagini recente » Istoria paginii problema/football2 | Istoria paginii preoni-2008/premii | Monitorul de evaluare | Benzina | Cod sursa (job #2092189)
#include <iostream>
#include <fstream>
#define NMAX 500005
using namespace std;
ifstream fin("reguli.in");
ofstream fout("reguli.out");
long long int a[NMAX],b[NMAX],x[NMAX],k,n;
int main()
{
fin >> n;
int i;
for(i=1;i<=n;i++)
fin >> a[i];
for(i=2;i<=n;i++)
b[i-1]=a[i]-a[i-1];
n-=1;
k=0;
for(i=2;i<=n;i++)
{
while(k>0 and b[i]!=b[k+1])
k=x[k];
if(b[i]==b[k+1])k++;
x[i]=k;
}
fout << n-x[n] << '\n';
for(i=1;i<=n-x[n];i++)
fout << b[i] << '\n';
return 0;
}