Pagini recente » Cod sursa (job #45152) | Cod sursa (job #970451) | Cod sursa (job #1755458) | Cod sursa (job #1944078) | Cod sursa (job #857042)
Cod sursa(job #857042)
#include <fstream>
#define NM 500010
using namespace std;
ifstream f("reguli.in");
ofstream g("reguli.out");
int N,i,j,K;
int PI[NM];
long long A[NM];
long long X[NM];
int main ()
{
f >> N >> X[1];
for (i=2; i<=N; i++)
{
f >> X[i];
A[i-1]=X[i]-X[i-1];
}
N--;
for (i=2, j=0; i<=N; i++)
{
while (j!=0 && A[i]!=A[j+1])
j=PI[j];
if (A[i]==A[j+1])
j++;
PI[i]=j;
}
K=N-PI[N];
g << K << '\n';
for (i=1; i<=K; i++)
g << A[i] << '\n';
f.close();
g.close();
return 0;
}