Pagini recente » Cod sursa (job #352506) | Cod sursa (job #673566) | Cod sursa (job #1760808) | Cod sursa (job #1681921) | Cod sursa (job #2288943)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("reguli.in");
ofstream g("reguli.out");
int v[500001],n,x,y,urm[500001];
int main()
{
int i;
f>>n;
f>>x;
for(i=2;i<=n;i++)
{
f>>y;
v[i-1]=y-x;
x=y;
}
n--;
int k=0;
for(i=2;i<=n;i++)
{
while(k!=0&&v[k+1]!=v[i]) k=urm[k];
if(v[k+1]==v[i])k++;
urm[i]=k;
}
g<<n-urm[n]<<'\n';
for(i=1;i<=n-urm[n];i++)
g<<v[i]<<" ";
return 0;
}