Cod sursa(job #821945)

Utilizator andreidanAndrei Dan andreidan Data 22 noiembrie 2012 20:08:23
Problema Avioane Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <cstdio>
#include <algorithm>
#define val (( n + 1) - i)
typedef unsigned long long ull;

using namespace std;

int a[1000005];


int main(){
    int i ,j, n;
    ull sum = 0 , max = 0 , max2 = 0;

    freopen("avioane.in" , "r" , stdin);
    freopen("avioane.out" , "w" , stdout);

    scanf("%d", &n);


    for( i = 1; i <= n ; ++ i )
        scanf("%d", &a[i]);

    sort( a + 1, a + n + 1);

    for( i = n ; i >1 ; --i ){
        sum = a[i] * val;
        for( j = 1 ; j <i; ++j ){
            max = a[j] * (i-j);

            if( sum + max > max2 ) max2 = sum + max;

        }
    }


    printf("%lld", max2);

    }