Pagini recente » Cod sursa (job #2867353) | Cod sursa (job #1007403) | Clasament antrenament | Cod sursa (job #153250) | Cod sursa (job #1704196)
#include<fstream>
using namespace std;
ifstream f("reguli.in");
ofstream g("reguli.out");
long long fin[500005];
int vct[500005],n;
long long a,b;
int main()
{
f>>n>>a;
for(int i=1;i<n;++i)
{
f>>b;
fin[i]=b-a;
a=b;
}
int q=0;
for(int i=2;i<n;++i)
{
while(q>0&&fin[i]!=fin[q+1])
q=vct[q];
if(fin[i]==fin[q+1])
++q;
vct[i]=q;
}
g<<n-vct[n-1]-1<<"\n";
for(int i=1;i<n-vct[n-1];++i)
g<<fin[i]<<"\n";
return 0;
}