Cod sursa(job #586739)

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