Pagini recente » Cod sursa (job #297395) | Cod sursa (job #3270011) | Cod sursa (job #394684) | Cod sursa (job #3230605) | Cod sursa (job #2334936)
#include <fstream>
#include <algorithm>
#define DIM 100001
using namespace std;
int v[DIM],st[DIM],dr[DIM];
int main()
{ int n,i,pos,sol=0,p,Max;
ifstream f("avioane.in");
ofstream g("avioane.out");
f>>n;
for (i=1;i<=n;++i)
f>>v[i];
sort(v+1,v+n+1);
st[1]=1;
for (i=2;i<=n;++i) {
pos=st[i-1];
p=pos,Max=v[p]*(i-p+1);
while (pos<i) {
++pos;
if (v[pos]*(i-pos+1)>Max) Max=v[pos]*(i-pos+1),p=pos;
}
st[i]=p;
}
dr[n]=v[n];
for (i=n-1;i>=1;--i)
dr[i]=max(dr[i+1],v[i]*(n-i+1));
for (i=1;i<n;++i)
sol=max(sol,v[st[i]]*(i-st[i]+1)+dr[i+1]);
g<<sol;
return 0;
}