Pagini recente » Cod sursa (job #2874267) | Cod sursa (job #3274847) | Cod sursa (job #3140465) | Cod sursa (job #22155) | Cod sursa (job #3293227)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("reguli.in");
ofstream fout("reguli.out");
long long n, v[500005], pref[500005], dif[500005];
void prefix() {
int j;
for(int i=1; i<n; i++) {
j=pref[i-1];
while(dif[i]!=dif[j] && j>0) {
j=pref[j-1];
}
if(dif[i]==dif[j]) {
j++;
}
pref[i]=j;
}
}
int main()
{
fin >> n;
for(int i=0; i<n; i++) {
fin >> v[i];
}
for(int i=1; i<n; i++) {
dif[i-1]=v[i]-v[i-1];
}
prefix();
fout << n-pref[n-2]-1 << "\n";
for(int i=0; i<n-pref[n-2]-1; i++) {
fout << dif[i] << "\n";
}
return 0;
}