Pagini recente » Cod sursa (job #2475359) | Cod sursa (job #1951922) | Cod sursa (job #714073) | Cod sursa (job #1077456) | Cod sursa (job #2101384)
#include <fstream>
using namespace std;
ifstream fi("reguli.in");
ofstream fo("reguli.out");
const int NMAX=5*1e5+5;
int 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;
}