Cod sursa(job #1704166)

Utilizator ionut98Bejenariu Ionut Daniel ionut98 Data 18 mai 2016 10:49:01
Problema Reguli Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include<fstream>
#include<vector>
using namespace std;
ifstream f("reguli.in");
ofstream g("reguli.out");
long long n,a[500005];
vector<long long>ans;
bool verif(int poz)
{
    int loc=0;
    bool ok=1;
    while(poz<=n)
    {
        if(loc==ans.size())
          loc=0;
        if(a[poz]-a[poz-1]!=ans[loc])
          return 0;
        loc++;
        poz++;
    }
    return 1;
}
int main()
{
    f>>n;
    for(int i=1;i<=n;i++)
      f>>a[i];
    ans.push_back(a[2]-a[1]);
    for(int i=3;i<=n;i++)
    {
        if(a[i]-a[i-1]==ans[0])
        {
            if(verif(i)==1)
            {
                g<<ans.size()<<"\n";
                for(int j=0;j<ans.size();j++)
                  g<<ans[j]<<"\n";
                return 0;
            }
        }
        else
          ans.push_back(a[i]-a[i-1]);
    }
}