Cod sursa(job #1336498)

Utilizator codi22FMI Condrea Florin codi22 Data 7 februarie 2015 19:56:46
Problema Avioane Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <iostream>
#include <cstdio>
#include <cstdlib>
using namespace std;
int i=0,V[100000],Dif[100000],j,n,sum,sum_max,sum_par;
float suma=0;
int compare(const void*a, const void*b)
{
    return(*(int*)a-*(int*)b);
}
int main()
{

    freopen("avioane.in","r",stdin);
    freopen("avioane.out","w",stdout);
    scanf("%d",&n);
    for (i=0;i<n;i++)
       {
           scanf("%d",&V[i]);

       }

    qsort(V,n,sizeof(int),compare);
    for (i=0;i<n-1;i++)
    {
        Dif[i]=V[i+1]-V[i];
        suma+=Dif[i];
    }
    suma/=n;
    for (i=n-1;i>0;i--)
        if (Dif[i]>=suma)
    {
        sum_par=(n-i-1)*V[i+1];
        for (j=i-1;j>=0;j--)
            {
                if (Dif[j]>=suma)
                if (sum<sum_par+(i-j-1)*V[j+1]) {cout<<i<<" "<<j<<" ";cout<<sum_par<<" "<<(i-j)*V[j+1]<<'\n';sum=sum_par+(i-j)*V[j+1]; }
            }

        if (sum>sum_max) sum_max=sum;
    }
    cout<<sum_max;


}