Pagini recente » Cod sursa (job #1329860) | Cod sursa (job #2623095) | Cod sursa (job #894062) | Cod sursa (job #669715) | Cod sursa (job #1312140)
#include <cstdio>
#define nmax 500005
using namespace std;
int v[nmax], nxt[nmax];
int x, y, i, n, q;
int main()
{
freopen("reguli.in", "rt", stdin);
freopen("reguli.out", "wt", stdout);
scanf("%d", &n);
scanf("%d", &x);
for(i=1; i<=n; ++i)
{
scanf("%d", &y);
v[i]=y-x;
x=y;
}
--n;
q=0;
for(i=2; i<=n; ++i)
{
while(q && v[i]!=v[q+1]) q=nxt[q];
if(v[i]==v[q+1]) ++q;
nxt[i]=q;
}
int qq=n-nxt[n];
printf("%d\n", qq);
for(i=1; i<=qq; ++i)
printf("%d\n", v[i]);
return 0;
}