Pagini recente » Cod sursa (job #1813245) | Cod sursa (job #2609502) | Cod sursa (job #2173234) | Cod sursa (job #1956243) | Cod sursa (job #586131)
Cod sursa(job #586131)
#include <stdio.h>
#include <vector>
#include <algorithm>
using namespace std;
FILE *fin = fopen("avioane.in", "rt");
FILE *fout = fopen("avioane.out", "wt");
int n;
vector<int> a;
int main()
{
int x;
fscanf(fin, "%d", &n);
for (int i = 0; i < n; i++)
{
fscanf(fin, "%d", &x);
a.push_back(x);
}
sort(a.begin(), a.end());
long long vmaxg = -1;
for (int i = a.size() - 1; i >= 0; i--)
{
// business [i, n-1]
long long vmax = -1;
for (int j = i - 1; j >= 0; j--)
{
// economy [j, i-1]
if (vmax < (long long) (i - j) * a[j])
vmax = (long long) (i - j) * a[j];
}
if (vmax == -1)
vmax = 0;
if (vmaxg < vmax + (long long) (n - i) * a[i])
vmaxg = vmax + (long long) (n - i) * a[i];
}
fprintf(fout, "%lld\n", vmaxg);
fclose(fout);
return 0;
}