Cod sursa(job #586165)

Utilizator elfusFlorin Chirica elfus Data 30 aprilie 2011 13:56:01
Problema Avioane Scor 0
Compilator cpp Status done
Runda Algoritmiada 2011, Runda Finală, Clasele 5-9 Marime 0.76 kb
#include<stdio.h>
#include<algorithm>
#define LMAX 100100
int x[LMAX];

using namespace std;

int main()
{
    int n,i,ind;
    long long s=0,smax=0,smax2=0;
    freopen("avioane.in","r",stdin);
    freopen("avioane.out","w",stdout);

    scanf("%d",&n);
    for(i=1;i<=n;i++)
        scanf("%d",&x[i]);
    sort(x+1,x+n+1);
    for(i=1;i<n;i++)
    {
        s=x[i]*(n-i+1);
        if(s>smax)
            smax=s,ind=i;    
    }
    for(i=ind+1;i<=n;i++)
        x[i]-=x[ind];
    for(i=ind+1;i<=n;i++)
    {
        s=x[i]*(n-i+1);
        if(s>smax2)
            smax2=s;
    }
  for(i=1;i<ind;i++)
  {
      s=x[i]*(ind-i+1);
      if(s>smax2)
          smax2=s;
  }
    smax+=smax2;
    printf("%lld",smax);
    return 0;
}