Pagini recente » Cod sursa (job #2196065) | Cod sursa (job #1552311) | Cod sursa (job #224244) | Cod sursa (job #1849648) | Cod sursa (job #3325488)
#include <fstream>
#define nmax (int)(5e5+1)
using namespace std;
ifstream cin("reguli.in");
ofstream cout("reguli.out");
int a[nmax],n,last,lps[nmax];
void LPS(){
int i=2,len=0;
while(i<=n){
if(a[i]==a[len+1]){
len++;
lps[i++]=len;
}else if(len==0)
i++;
else
len=lps[len-1];
}
}
int main()
{
cin>>n>>last;
for(int i=1;i<n;i++){
cin>>a[i];
int aux=a[i]-last;
last=a[i];
a[i]=aux;
}
n--;
LPS();
cout<<n-lps[n]<<'\n';
for(int i=1;i<=n-lps[n];i++)
cout<<a[i]<<'\n';
return 0;
}