Pagini recente » Cod sursa (job #1650257) | Cod sursa (job #1575557) | Statistici Sebastian Ionel (DalmatianuSebik) | Cod sursa (job #1515980) | Cod sursa (job #2061470)
#include <iostream>
#include <fstream>
#define Nmax 500005
using namespace std;
ifstream fin("reguli.in");
ofstream fout("reguli.out");
long long n , a[Nmax], s[Nmax], b[Nmax], k;
int main()
{
fin >> n;
for(int i = 1; i <= n; i++)
fin >> a[i];
for(int i = 2; i <= n; i++)
b[i - 1] = a[i] - a[i - 1];
s[1] = 0;
k = 0;
for(int i = 2; i <= n - 1; i++)
{
if(k && b[i] != b[k + 1])k = s[k];
if(b[i] == b[k + 1]) k++;
s[i] = k ;
}
n--;
fout << n - s[n] << '\n';
for(int i = 1; i <= n - s[n]; i++)fout << b[i] << '\n';
return 0;
}