Pagini recente » Cod sursa (job #1473146) | Cod sursa (job #1221693) | Cod sursa (job #1514060) | Cod sursa (job #2203559) | Cod sursa (job #1717075)
#include <cstdio>
#define MAX 500000
using namespace std;
int pi[MAX];
long long v[MAX];
int main()
{
freopen("reguli.in", "r", stdin);
freopen("reguli.out", "w", stdout);
int n, k;
long long pred, x;
scanf("%d%lld", &n, &pred);
for(int i=2;i<=n;++i)
{
scanf("%lld", &x);
v[i-1]=x-pred;
pred=x;
}
n--;
pi[1]=0;
k=0;
for(int i=2;i<=n;++i)
{
while(k && v[k+1]!=v[i])
k=pi[k];
if(v[k+1]==v[i])
++k;
pi[i]=k;
}
n-=pi[n];
printf("%d\n", n);
for(int i=1;i<=n;++i)
printf("%d\n", v[i]);
return 0;
}