Pagini recente » Cod sursa (job #722429) | Cod sursa (job #723960) | Cod sursa (job #2524439) | Cod sursa (job #1649477) | Cod sursa (job #2450415)
#include <fstream>
using namespace std;
ifstream f("reguli.in");
ofstream g("reguli.out");
long long sol[500005],n,a,b,i,d[500005],k,m,j,nr_sol;
int main()
{
f>>n>>a;
for(i=2; i<=n; ++i)
{
f>>b;
sol[i-2]=b-a;
a=b;
}
d[0]=0;
for(i=1; i<n-1; ++i)
{
k=d[i-1];
while(k>0 && sol[i]!=sol[k])
{
k=d[k-1];
}
if(sol[i]==sol[k])
{
k++;
}
d[i]=k;
}
m=n-1;
nr_sol=m-d[m-1];
g<<nr_sol<<'\n';
for(i=0; i<nr_sol; ++i)
{
g<<sol[i]<<'\n';
}
return 0;
}