Pagini recente » Cod sursa (job #2775228) | Cod sursa (job #2520247) | Cod sursa (job #2352275) | Cod sursa (job #1308858) | Cod sursa (job #586070)
Cod sursa(job #586070)
#include<stdio.h>
#include<algorithm>
using namespace std;
int a[100000],i,cls1,cls2,p1,p2,pmax,n;
int main()
{
freopen("avioane.in","r",stdin);
freopen("avioane.out","w",stdout);
scanf("%d\n",&n);
for(i=1;i<=n;i++)
scanf("%d ",&a[i]);
sort(a+1,a+n+1);
cls1=1;cls2=n;p1=0;p2=0;
pmax=0;
for(i=1;i<=n;i++)
if(a[i]<a[cls2])p1+=a[cls1];else p1+=a[cls2];
p2=p1;pmax=p2;
while(cls1<=cls2)
{
p1=0;p2=0;
cls1++;
for(i=1;i<=n;i++)
if(a[i]>=a[cls2])p1+=a[cls2];else if(a[i]>=a[cls1])p1+=a[cls1];
cls1--;cls2--;
for(i=1;i<=n;i++)
if(a[i]>=a[cls2])p2+=a[cls2];else if(a[i]>=a[cls1])p2+=a[cls1];
cls2++;
if(p1>pmax){pmax=p1;}else if(p2>pmax){pmax=p2;}
if(p1>=p2)cls1++;else cls2--;
}
for(i=1;i<=n;i++)if(a[i]==a[1])pmax+=a[1];
printf("%d\n",pmax);
return 0;
}