Cod sursa(job #585748)

Utilizator Magnuscont cu nume gresit sau fals Magnus Data 30 aprilie 2011 11:37:13
Problema Avioane Scor 0
Compilator cpp Status done
Runda Algoritmiada 2011, Runda Finală, Clasele 5-9 Marime 0.73 kb
#include <stdio.h>
#include <algorithm>

using namespace std;

int n,maxx,s,i,ind,v[100010];

int main()
{
    freopen("avioane.in","r",stdin);
    freopen("avioane.out","w",stdout);
    scanf("%d",&n);
    for (i=1;i<=n;++i)
        scanf("%d",&v[i]);
    sort(v+1,v+n+1);
    for (i=1;i<=n;++i)
        if (v[i]*(n-i+1)>maxx)
        {
            maxx=v[i]*(n-i+1);
            ind=i;
        }
    s+=maxx;
    maxx/=(n-ind+1);
    for (i=ind;i<=n;++i)
        v[i]-=maxx;
    maxx=0;
    for (i=ind;i<=n;++i)
        if (v[i]*(n-i+1)>maxx)
            maxx=v[i]*(n-i+1);
    for (i=1;i<ind;++i)
        if (v[i]*(ind-i)>maxx)
            maxx=v[i]*(ind-i);
    s+=maxx;
    printf("%d",s);
    return 0;
}