Cod sursa(job #2458407)

Utilizator mariamirabella2Bucur-Sabau Maria-Mirabela mariamirabella2 Data 20 septembrie 2019 14:11:14
Problema Reguli Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <fstream>
using namespace std;

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

long long v[500005],n,b,a,ans,k;

int main()
{
    cin>>n;
    cin>>b;
    for(int i=1;i<n;i++){
        cin>>a;
        v[i]=a-b;
        b=a;
    }
    int k=2;
    while(v[k]!=v[1]){
        k++;
    }
    ans+=k-1;
    for(int i=k+1;i<n;i++){
        if(v[i]!=v[i-k+1]){
            ans++;
            k++;
        }
    }
    for (int i = 1; i < n - ans; ++i)
        if (v[i] != v[i + ans])
            ans = n - 1;
    cout<<ans<<'\n';
    for(int i=1;i<=ans;i++,cout<<'\n'){
        cout<<v[i];
    }
    return 0;
}