Pagini recente » Cod sursa (job #2548000) | Cod sursa (job #2245660) | Cod sursa (job #2661395) | Cod sursa (job #2871631) | Cod sursa (job #2430806)
//#include "stdafx.h"
#include <iostream>
#include <cmath>
#include <vector>
#include <algorithm>
#include <string>
#include <map>
#include <fstream>
#define f(i,L,R) for (int i = (L); i < (R); ++i)
#define fe(i,L,R) for (int i = (L); i <= (R); ++i)
using namespace std;
ifstream fin("reguli.in");
ofstream fout("reguli.out");
int main()
{
long long n, y;
vector<long long> x, a;
vector<unsigned int> pi;
fin >> n;
f(i, 0, n)
{
fin >> y;
x.push_back(y);
}
f(i, 1, n)
a.push_back(x[i] - x[i - 1]);
unsigned int i = 1, j = 0;
pi.resize(a.size());
pi[0] = 0;
while (i < a.size())
{
if (a[j] == a[i])
{
j++;
pi[i++] = j;
}
else
{
if (j == 0)
pi[i++] = j;
else
j = pi[j - 1];
}
}
unsigned int k = 0;
while (!pi[k])
k++;
fout << k << "\n";
for (unsigned int idx = 0; idx < k; ++idx)
fout << a[idx] << "\n";
return 0;
}