Cod sursa(job #2462208)

Utilizator Cojocaru_Andrei_CristianCojocaru Andrei Cristian Cojocaru_Andrei_Cristian Data 26 septembrie 2019 21:28:36
Problema Reguli Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <fstream>
using namespace std;

long long v[500005];

int main()
{

    ifstream cin("reguli.in");
    ofstream cout("reguli.out");
    int n,aux,x,ans;
    cin>>n>>aux;
    for(int i=1;i<=n-1;i++)
    {
        cin>>x;
        v[i]=x-aux;
        aux=x;
    }
    int cnt=1;
    v[n]=v[1];
    while(v[cnt+2]!=v[1])
    {
        cnt++;
    }
    ans=cnt;
    for(int i=cnt+2;i<=n-1;i++)
    {
        if(v[i]!=v[i-cnt])
        {
            ans++;
            cnt++;
        }
    }
    for(int i=1;i<n-ans;i++)
        if(v[i]!=v[i+ans])
            {
            ans=n-1;
            break;
            }
    cout<<ans<<'\n';
    for(int i=1;i<=ans;i++)
    {
        cout<<v[i]<<'\n';
    }
    return 0;
}