Cod sursa(job #587225)
| Utilizator | Data | 4 mai 2011 12:10:08 | |
|---|---|---|---|
| Problema | Avioane | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.52 kb |
#include <cstdio>
#include <algorithm>
using namespace std;
#define nmax 100010
#define ll long long
int n, v[nmax];
ll a[nmax], m, x, sol;
int main()
{
freopen("avioane.in","r",stdin);
freopen("avioane.out","w",stdout);
scanf("%d", &n);
int i, p;
for (i=1; i<=n; i++) scanf("%d", &v[i]);
sort (v+1, v+n+1);
for (i=1; i<=n; i++)
a[i]=(ll) v[i]*(n-i+1);
for (i=1; i<=n; i++)
{
if (a[i]>m)
{
m=a[i];
p=i;
}
x=(i-p+1)*v[p]+a[i+1];
if (x>sol) sol=x;
}
printf("%d\n",sol);
}