Pagini recente » Cod sursa (job #3161107) | Cod sursa (job #2248467) | Cod sursa (job #1949169) | Cod sursa (job #1144595) | Cod sursa (job #827606)
Cod sursa(job #827606)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("avioane.in");
ofstream out("avioane.out");
int a[111111];
int main()
{
int n,i,j,s1=0,s2=0,maxim;
in>>n;
for(i=1;i<=n;++i)
{
in>>a[i];
}
sort(a+1,a+n+1);
j=n;
s1=a[n];
s2=a[n-1];
maxim=s1+s2;
for(i=n-2;i;--i)
{
s2=a[i]*(j-i);
while(j>=i && s2-a[i]+a[j-1]*(n-j+2)>s2+s1)
{
s2-=a[i];
j--;
s1=a[j]*(n-j+1);
}
if(s1+s2>maxim)
maxim=s1+s2;
}
out<<maxim;
return 0;
}