Pagini recente » Cod sursa (job #2691083) | Cod sursa (job #3279897) | Cod sursa (job #3290860) | Cod sursa (job #3288354) | Cod sursa (job #3169265)
#include <fstream>
using namespace std;
ifstream fin ("reguli.in");
ofstream fout ("reguli.out");
const int NMAX = 500000;
int v[NMAX + 5], pi[NMAX + 5];
int main()
{
int n;
fin >> n;
int x, ant;
fin >> ant;
for(int i = 2; i <= n; i++)
{
fin >> x;
v[i - 1] = 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;
}