Cod sursa(job #1577132)

Utilizator refugiatBoni Daniel Stefan refugiat Data 23 ianuarie 2016 11:39:39
Problema Matrice5 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include<iostream>
#include<fstream>
//#include<cstdio>
#include<algorithm>
using namespace std;
//*
ifstream si("patrate6.in");
ofstream so("patrate6.out");
//*/
/*
FILE*si=fopen("editor.in","r");
FILE*so=fopen("editor.out","w");
//*/
int ap[100005];
int main()
{
    int n;
    si>>n;
    int i;
    for(i=0;i<n;++i)
    {
        si>>ap[i];
    }
    sort(ap,ap+n);
    int cont=0,fel=0,q,lg=ap[0];
    for(i=0;i<n;++i)
    {
        if(lg==ap[i])
        {
            cont++;
        }
        else
        {
            q=(ap[i]-lg)<<1;
            if(((cont>>q)<<q)!=cont)
            {
                fel=1;
            }
            cont>>=q;
            cont++;
            lg=ap[i];
        }
    }
    while(cont>3)
    {
        cont>>=2;
        lg++;
    }
    if(fel||cont>1)
        so<<lg+1;
    else
        so<<lg;
    //fclose(so);
    so.close();
    return 0;

}