Pagini recente » Cod sursa (job #2375877) | Cod sursa (job #2874748) | Cod sursa (job #158164) | Cod sursa (job #3197015) | Cod sursa (job #2101386)
#include <fstream>
using namespace std;
ifstream fi("reguli.in");
ofstream fo("reguli.out");
const int NMAX=5*1e5+5;
long long n,A[NMAX],S[NMAX],k,x,y;
int main()
{
fi>>n;
fi>>x;
for(int i=1;i<n;i++)
{
y=x;
fi>>x;
A[i]=x-y;
}
n--;
S[0]=-1;
S[1]=0;
k=0;
for(int i=2;i<=n;i++)
{
while(k>0 && A[i]!=A[k+1])
k=S[k];
if(A[i]==A[k+1])
k++;
S[i]=k;
}
fo<<n-S[n]<<"\n";
for(int i=1;i<=n-S[n];i++)
fo<<A[i]<<"\n";
fi.close();
fo.close();
return 0;
}