Cod sursa(job #1961830)

Utilizator BugirosRobert Bugiros Data 11 aprilie 2017 13:19:39
Problema Reguli Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <fstream>
using namespace std;

const int MAXN = 500005;

ifstream in("reguli.in");
ofstream out("reguli.out");

long long v[MAXN];
int n;

void citire()
{
    in >> n;
    for (int i = 1;i <= n;++i)
        in >> v[i];
}

int l;

void prelucrare()
{
    for (int i = 1;i < n;++i)
        v[i] = v[i + 1] - v[i];
    v[0] = 1ll << 63;
    int pozperioada = 0;
    for (int i = 1;i < n;++i,++pozperioada)
    {
        if (v[i] != v[pozperioada])
        {
            l = i;
            pozperioada = 0;
        }
        if (pozperioada == l)
            pozperioada = 0;
    }
}

void afisare()
{
    out << l << '\n';
    for (int i = 1;i <= l;++i)
        out << v[i] << '\n';
}

int main()
{
    citire();
    prelucrare();
    afisare();
    return 0;
}