Pagini recente » Cod sursa (job #1707139) | Cod sursa (job #754511) | Cod sursa (job #1182512) | Cod sursa (job #185387) | Cod sursa (job #861192)
Cod sursa(job #861192)
#include<fstream>
using namespace std;
int a[500001],c[500001],i,j,n;
int main()
{
ifstream f("reguli.in");
ofstream g("reguli.out");
f >> n;
f >> a[0];
n--;
for (i=1;i<=n;i++)
f >> a[i];
for (i=n;i>=1;i--)
a[i]=a[i]-a[i-1];
for (i=2;i<=n;i++)
{
j=c[i-1];
while ((a[i]!=a[j+1]) && (j>0))
j=c[j];
if (a[i]==a[j+1])
c[i]=j+1;
else c[i]=0;
}
g << n-c[n] << "\n";
for (i=1;i<=n-c[n];i++)
g << a[i] << ' ';
return 0;
}