Pagini recente » Cod sursa (job #2800535) | Cod sursa (job #1784734) | Cod sursa (job #1194064) | Cod sursa (job #1057625) | Cod sursa (job #1708313)
#include <iostream>
#include <fstream>
using namespace std;
ifstream si("reguli.in");
ofstream so("reguli.out");
long long d[500005],st[500005];
int main()
{
int n;
si>>n;
int i;
long long a,b;
si>>a;
for(i=1;i<n;++i)
{
si>>b;
d[i]=b-a;
a=b;
}
long long k=0;
for(i=2;i<n;++i)
{
while(k&&d[i]!=d[k+1])
{
k=st[k];
}
if(d[i]==d[k+1])
{
k++;
}
st[i]=k;
}
n-=st[n-1]+1;
so<<n<<'\n';
for(i=1;i<=n;++i)
so<<d[i]<<'\n';
return 0;
}