Cod sursa(job #1520803)
| Utilizator | Data | 9 noiembrie 2015 15:18:17 | |
|---|---|---|---|
| Problema | Avioane | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.53 kb |
#include <cstdio>
#include <algorithm>
using namespace std;
long long Max,Max1;
int i,n,a[100007],I,I1;
inline bool cmp(int x,int y)
{
return (x>y);
}
int main()
{
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,cmp);
Max=Max1=0;
for(i=1;i<=n;++i)
if(1LL*Max<i*a[i]) Max=1LL*i*a[i], I=i;
for(i=1;i<=I;++i)
if(1LL*i*(a[i]-a[I])>Max1) Max1=1LL*i*(a[i]-a[I]);
printf("%lld\n",Max1+Max);
return 0;
}
