Pagini recente » Diferente pentru problema/jb intre reviziile 1 si 20 | Monitorul de evaluare | Cod sursa (job #1567137) | Diferente pentru problema/arbori3 intre reviziile 1 si 7 | Cod sursa (job #1520803)
#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;
}