Pagini recente » Cod sursa (job #1432687) | Cod sursa (job #2890445) | Cod sursa (job #1768281) | Cod sursa (job #2561025) | Cod sursa (job #2578979)
#include <iostream>
#include <fstream>
using namespace std;
typedef long long ll;
ifstream f("reguli.in");
ofstream g("reguli.out");
int pi[500001];
ll x[500001];
ll n;
int main()
{
int i,j;
f>>n;
for(int i=1;i<=n;i++)
f>>x[i];
ll a=x[1];
for(i=2;i<=n;i++)
{
x[i-1]=x[i]-a;
a=x[i];
}
n--;
pi[1]=0;
i=2;
j=1;
while(i<=n)
{
if(x[i]==x[j])
pi[i++]=j++;
else if(j!=1)
j=pi[j-1]+1;
else
pi[i++]=0;
}
i=n;
i-=pi[i];
g<<i<<'\n';
for(j=1;j<=i;j++)
g<<x[j]<<'\n';
f.close();
g.close();
return 0;
}