Pagini recente » Cod sursa (job #2328728) | Cod sursa (job #1351614) | Cod sursa (job #2018868) | Cod sursa (job #1551690) | Cod sursa (job #1729049)
#include <fstream>
#include <algorithm>
#define NMAX 500005
using namespace std;
ifstream fin("reguli.in");
ofstream fout("reguli.out");
int n;
long long v[NMAX];
int pref[NMAX];
void prefix() {
int i,j=1;
for(i=3;i<=n;++i) {
while(j>0 && v[j+1]!=v[i]) j=pref[j];
j=max(j,1);
if(v[j+1]==v[i]) ++j;
pref[i]=j;
}
}
int main() {
int i,last=0;
fin>>n;
for(i=1;i<=n;++i) fin>>v[i];
for(i=n;i>0;--i) v[i]-=v[i-1];
prefix();
//for(i=1;i<=n;++i) fout<<pref[i]<<' ';
fout<<n-pref[n]<<'\n';
for(i=2;i<=n-pref[n]+1;++i) fout<<v[i]<<'\n';
}