Pagini recente » Cod sursa (job #2163106) | Cod sursa (job #378338) | Cod sursa (job #2762788) | Cod sursa (job #2622677) | Cod sursa (job #645216)
Cod sursa(job #645216)
#include <cstdio>
#include <ctime>
#include <algorithm>
int n, maxPayment [100000];
int next;
int rand(void)
{
next = next * 1103515245 + 12345;
return next % 100000;
}
void srand(unsigned int seed)
{
next = seed;
}
int main () {
int i;
srand (time(0));
freopen ("avioane.in", "rt", stdin);
freopen ("avioane.out", "wt", stdout);
scanf ("%d", &n);
for (i = 0; i < n; ++ i) {
scanf ("%d", &maxPayment [i]);
}
std::sort (maxPayment, maxPayment + n);
long long maxProfit = -1;
for (i = 0; i < 2500000; ++ i) {
int pos1 = rand ();
int pos2 = rand ();
if (pos1 > pos2) {
std :: swap (pos1, pos2);
}
maxProfit = std::max (maxProfit, (n - pos2) * 1ll * maxPayment [pos2] + (pos2 - pos1) * 1ll * maxPayment [pos1]);
}
printf ("%lld", maxProfit);
return 0;
}