Pagini recente » Cod sursa (job #586731) | Cod sursa (job #2085889) | Cod sursa (job #2142805) | Cod sursa (job #1788403) | Cod sursa (job #1423789)
#include <fstream>
using namespace std;
ifstream f("reguli.in");
ofstream g("reguli.out");
int n, i, k, a[500001], x[500001], poz[500001], ct;
int main()
{
f >> n;
for (i = 0; i < n; i++)
f >> x[i];
for (i = 1; i < n-1; i++)
{
while (ct && x[ct+1]-x[ct] != x[i+1]-x[i])
ct = poz[ct];
if (x[ct+1] - x[ct] == x[i+1]-x[i])
ct++;
poz[i] = ct;
}
for (i = 0; poz[i] == 0; i++) k++, a[k] = x[i+1]-x[i];
g << k << "\n";
for (i = 1; i <= k; i++)
g << a[i] << "\n";
return 0;
}