Pagini recente » Cod sursa (job #2773330) | Cod sursa (job #195377) | Cod sursa (job #875591) | Cod sursa (job #2257926) | Cod sursa (job #1005313)
#include <fstream>
using namespace std;
int v[500005],pref[500005];
int main()
{
ifstream cin("reguli.in");
ofstream cout("reguli.out");
int n=0,k=0,i;
cin>>n;
for(i=0;i<n;i++)
cin>>v[i];
for(i=n-1;i>0;i--)
v[i]=v[i]-v[i-1];
n--;
//for(i=1;i<=n;i++)
// cout<<v[i]<<' ';
//cout<<endl;
pref[1]=0;
for(i=2;i<=n;i++)
{
while(k>0 && v[i]!=v[k+1])
k=pref[k];
if(v[i]==v[k+1])
k++;
pref[i]=k;
}
n-=pref[n];
cout<<n<<'\n';
for(i=1;i<=n;i++)
cout<<v[i]<<'\n';
cin.close();
cout.close();
return 0;
}