Pagini recente » Cod sursa (job #2900821) | Cod sursa (job #106296) | Cod sursa (job #2666119) | Cod sursa (job #2944602) | Cod sursa (job #1193424)
#include <cstdio>
using namespace std;
#define NMAX 500005
#define LL long long
LL N,New,X,k,i,finish;
LL pi[NMAX],V[NMAX];
int main()
{
freopen("reguli.in","r",stdin);
freopen("reguli.out","w",stdout);
scanf("%lld",&N);
--N;
scanf("%lld",&X);
for (i=1;i<=N;++i)
{
scanf("%lld",&New);
V[i]=New-X;
X=New;
}
for (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;
}
finish=(N-pi[N]);
printf("%lld\n",finish);
for (i=1;i<=finish;++i) printf("%lld\n",V[i]);
return 0;
}