Pagini recente » Cod sursa (job #1818676) | Cod sursa (job #1635217) | Cod sursa (job #2418947) | Cod sursa (job #2954427) | Cod sursa (job #1440745)
#include <cstdio>
#include <algorithm>
using namespace std;
FILE *f = fopen( "avioane.in", "r" );
FILE *g = fopen( "avioane.out", "w" );
const int MAX = 100010;
int a[MAX];
int N;
int n1[MAX];
int n2[MAX];
int nr[MAX];
int maxim;
void Read();
void Solve();
int main()
{
Read();
Solve();
fclose(f);
fclose(g);
return 0;
}
void Read()
{
int i;
fscanf( f ,"%d", &N );
for ( i = 1; i <= N; i++ )
fscanf( f, "%d", &a[i] );
sort( a + 1, a + 1 + N );
}
void Solve()
{
int i, j;
for ( i = N; i >= 1; i-- )
{
n1[i] = ( N - i + 1 ) * a[i];
}
nr[1] = a[1];
n2[1] = a[1];
for ( i = 2; i <= N; i++ )
{
for ( j = 1; j <= N; j++ )
n2[i] = max( n2[i], ( i - j + 1 ) * a[j] );
}
i = i;
for ( i = 1; i < N; i++ )
{
maxim = max( maxim, n1[i + 1] + n2[i] );
}
fprintf( g, "%d\n", maxim );
}