Pagini recente »
lasm_go_for_it
|
Istoria paginii runda/lasm_19_01_2022_cl10
|
Cod sursă (job #21609)
|
Istoria paginii runda/sever_vs_simion_2/clasament
|
Cod sursă (job #803153)
Cod sursă (job
#803153)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
int main() {
ifstream fin("lanterna.in");
ofstream fout("lanterna.out");
int n;
fin>>n;
int A[100010];
for (int i = 0; i < n; ++i) {
fin >> A[i];
}
sort(A, A + n);
int total = 0;
int i = n - 1;
while (i >= 0) {
if (i == 0) {
total += A[0];
break;
} else if (i == 1) {
total += A[1];
break;
} else if (i == 2) {
total += A[0] + A[1] + A[2];
break;
} else {
int x = A[0] + A[1] + A[i] + A[1];
int y = A[0] + A[i] + A[0] + A[i - 1];
total += min(x, y);
i -= 2;
}
}
fout << total;
return 0;
}