Cod sursa(job #585978)

Utilizator ProcopliucProcopliuc Adrian Procopliuc Data 30 aprilie 2011 13:03:09
Problema Avioane Scor 40
Compilator cpp Status done
Runda Algoritmiada 2011, Runda Finală, Open Marime 0.65 kb
# include <fstream>
# include <algorithm>
# define inf 100000000000000000LL
using namespace std;
ifstream f ("avioane.in");
ofstream g ("avioane.out");
int a[100005],i,n;
long long int s,maxx;

 long long int maxim (int x,int y)
 {
     long long int maxx=-inf;
     int i;
     for (i=x;i<=y;i++)
     if (maxx<a[i]*(y-i+1))
     maxx=a[i]*(y-i+1);
     return maxx;

 }

int main ()
{
    f>>n;
    for (i=1;i<=n;i++)
    f>>a[i];

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

    maxx=-inf;

    for (i=1;i<=n;i++)
    {
      s=a[i]*(n-i+1);
      s+=maxim (1,i-1);
      if (maxx<s)
      maxx=s;

    }

    g<<maxx;

    return 0;
}