Cod sursa(job #1844135)

Utilizator Andrei_CotorAndrei Cotor Andrei_Cotor Data 9 ianuarie 2017 19:26:39
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.97 kb
#include<fstream>
#include<math.h>
using namespace std;
ifstream fi("sume.in");
ofstream fo("sume.out");
long long p,n,i,j,A[25001],R[25001],Ap[20000001],x;
double r;
int main()
{
    fi>>p;
    n=sqrt(double(2*p))+1;
    for(i=1; i<=p; i++)
    {
        fi>>A[i];
        Ap[A[i]]++;
    }
    R[1]=(A[1]+A[2]-A[n])/2;
    for(i=2; i<=n; i++)
    {
        R[i]=A[i-1]-R[1];
        if(R[i]<0)
        {
            fo<<"-1\n";
            fi.close();
            fo.close();
            return 0;
        }
    }
    for(i=1; i<=n; i++)
    {
        for(j=i+1; j<=n; j++)
        {
            if(Ap[R[i]+R[j]]==0)
            {
                fo<<"-1\n";
                fi.close();
                fo.close();
                return 0;
            }
            Ap[R[i]+R[j]]--;
        }
    }
    fo<<n<<"\n";
    for(i=1; i<=n; i++)
    {
        fo<<R[i]<<" ";
    }
    fo<<"\n";
    fi.close();
    fo.close();
    return 0;
}