Pagini recente » Cod sursa (job #2736573) | Cod sursa (job #1085051) | Cod sursa (job #1196436) | Cod sursa (job #1930163) | Cod sursa (job #2228704)
#include<bits/stdc++.h>
using namespace std;
ifstream f("avioane.in");
ofstream g("avioane.out");
int n,v[100002],nxtdif[100002];
long long sol;
int Lp=0;
int main()
{
f>>n;
for(int i=1;i<=n;++i)
f>>v[i];
sort(v+1,v+n+1);
for(int i=n;i>=1;--i)
if(v[i]!=v[i+1])
nxtdif[i]=i+1;
else
nxtdif[i]=nxtdif[i+1];
Lp=1;
for(int i=1;i<=n;++i)
{
while(1LL*(i-Lp+1)*v[Lp]<=(i-nxtdif[Lp]+1)*v[nxtdif[Lp]])
Lp=nxtdif[Lp];
sol=max(sol,1LL*(n-i)*v[i+1]+1LL*(i-Lp+1)*v[Lp]);
}
g<<sol;
return 0;
}