Pagini recente » Cod sursa (job #2421693) | Cod sursa (job #1921821) | Cod sursa (job #2352664) | Cod sursa (job #2073959) | Cod sursa (job #2554595)
#include <iostream>
#include <fstream>
using namespace std;
typedef long long lint;
ifstream fin("reguli.in");
ofstream fout("reguli.out");
int n;
lint v[500041];
int pr[500041];
int rezero = 0;
void precalc(){
int q = 0;
for(int i = 1; i < n; ++i){
while(v[i] != v[q] && q>0){
q = pr[q-1];
}
if(v[i] == v[q]){
q++;
}
pr[i] = q;
if(q == 0){
rezero = i;
}
}
rezero++;
}
int main(){
fin >> n;n--;
lint a, b;
fin >> a;
for(int i = 0; i < n; ++i){
b = a;fin >> a;
v[i] = a-b;
}
precalc();
fout << rezero << "\n";
for(int i = 0; i < rezero; ++i){
fout << v[i] << "\n";
}
return 0;
}