Pagini recente » Cod sursa (job #680929) | Cod sursa (job #661884) | Cod sursa (job #1750648) | Cod sursa (job #1296576) | Cod sursa (job #1223845)
#include<fstream>
#include<algorithm>
using namespace std;
const int NM = 100005;
int a[NM], N;
int main(){
ifstream cin("avioane.in");
ofstream cout("avioane.out");
int i,j;
cin >> N;
for(i=1;i<=N;++i) cin >> a[i];
sort(a+1,a+N+1);
long long SMAX = 0, Sum = 0;
int l,r,mid;
for(i=N;i>1;--i)
{
Sum = 1LL * (N-i+1) * a[i];
l = 1; r = i-1;
while(r - l > 1)
{
mid = (l+r) / 2;
if(1LL * a[l] * (i - l) <= 1LL * a[mid] * (i-mid)) l = mid;
else r = mid;
}
if(1LL * a[l] * (i - l) <= 1LL * a[r] * (i-r)) l = r;
SMAX = max(SMAX, Sum + 1LL * a[l] * (i-l));
}
cout << SMAX << '\n';
return 0;
}