Pagini recente » Cod sursa (job #3243801) | runda_de_porc | Cod sursa (job #3215608) | Cod sursa (job #2651413) | Cod sursa (job #3169266)
#include <fstream>
using namespace std;
ifstream fin ("reguli.in");
ofstream fout ("reguli.out");
const int NMAX = 500000;
long long v[NMAX + 5];
int pi[NMAX + 5];
int main()
{
int n;
fin >> n;
long long x, ant;
fin >> ant;
for(int i = 2; i <= n; i++)
{
fin >> x;
v[i - 1] = 0LL + x - ant;
ant = x;
}
for(int i = 2; i <= n - 1; i++)
{
int k = pi[i - 1];
while(v[i] != v[k + 1] && k)
k = pi[k];
if(v[i] == v[k + 1])
k++;
pi[i] = k;
}
fout << (n - 1) - pi[n - 1] << '\n';
for(int i = 1; i <= (n - 1) - pi[n - 1]; i++)
fout << v[i] << '\n';
fin.close();
fout.close();
return 0;
}