Pagini recente » Cod sursa (job #1295848) | Cod sursa (job #145956) | Cod sursa (job #1472580) | Cod sursa (job #2270931) | Cod sursa (job #587092)
Cod sursa(job #587092)
#include <cstdio>
#include <algorithm>
using namespace std;
#define Nmax 100100
#define ll long long
int n;
ll v[Nmax];
void rezolva () {
int i, p;
ll sol = 0, cst;
for (i = p = n; i >= 1; i--) {
while (p > 0 && v[p-1] * (ll)(i - (p-1)) > v[p] * (ll) (i - p) ) p--;
cst = v[p] * (ll) (i - p) + v[i] * (ll)(n - i + 1);
if (sol < cst)
sol = cst;
}
printf ("%lld\n", sol);
}
int main () {
freopen ("avioane.in", "r", stdin);
freopen ("avioane.out", "w", stdout);
scanf ("%d", &n);
for (int i = 1; i <= n; i++)
scanf ("%lld", &v[i]);
sort (v + 1, v + n + 1);
rezolva ();
return 0;
}