Cod sursa(job #586725)

Utilizator test9cosmin Macovei test9 Data 2 mai 2011 20:26:50
Problema Avioane Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("avioane.in");
ofstream g("avioane.out");
int a[100001],n,sm,i,p1,p2,x,y,sm1,sm2,x1,x2;
void citire(){
	f>>n;
	for(i=1;i<=n;++i)
		f>>a[i];
	sort(a+1,a+n+1);
	p1=p2=sm1=sm2=0;
	for(i=1;i<=n;++i){
		x=(n-i+1)*a[i];
		if(sm2<x){sm1=sm2;sm2=x; p1=p2;p2=i;}
	}
	//g<<sm1<<' '<<sm2<<'\n';
	for(i=n;i>=p2;--i){	
		x=(n-i+1)*(a[i]-a[p1]);
		if(x>x1) x1=x;
		x=(n-i+1)*(a[i]-a[p2]);
		if(x>x2) x2=x;
	}
	sm1+=x1;
	sm2+=x2;
	sm=(sm1>sm2?sm1:sm2);
}
int main(){
	citire();
	g<<sm<<'\n';
	g.close();
	return 0;
}