Pagini recente » Cod sursa (job #478476) | Cod sursa (job #676425) | Cod sursa (job #112464) | Cod sursa (job #2432169) | Cod sursa (job #617131)
Cod sursa(job #617131)
#include <cstdio>
#include <algorithm>
using namespace std;
FILE *f,*g;
#define nmax 100100;
int v[100100],l[100100],cni,i,j,n;
long long r[100100],cn;
int main() {
f=fopen("avioane.in","r");
g=fopen("avioane.out","w");
fscanf(f,"%d",&n);
for (i=1;i<=n;i++)
fscanf(f,"%d",&v[i]);
sort(v+1,v+n);
l[1]=1;
r[1]=v[1];
for (i=2;i<=n;i++) {
for (j=l[i-1],cn=-1;j<=i;j++)
if (cn<(long long)(i-j+1)*v[j]) {
cn=(long long)(i-j+1)*v[j];
cni=j;
}
l[i]=cni;
r[i]=cn;
}
long long sol = 0;
for(int i = 2; i <= n; i++) {
long long x = (long long ) (n - i + 1) * v[i] + r[i - 1];
if(x > sol) {
sol = x;
}
}
fprintf(g,"%lld",sol);
fclose(g);
return 0;
}