Cod sursă (job #521799)

Utilizator avatar Bogdy_P Prunescu Bogdan Bogdy_P IP ascuns
Problemă Lanterna Compilator cpp | 0.66 kb
Rundă easy_oli1 Status evaluat
Dată 25 ian. 2020 12:55:53 Scor 80
#include <bits/stdc++.h>

using namespace std;
ifstream in("lanterna.in");
ofstream out("lanterna.out");
long long Min, n, a[100010], lg, Sol;
int main()
{
    in >> n;
    for(int i = 1;i <= n;i++)
        in >> a[i];
    sort(a + 1,a + n + 1);
    lg = n;
    while(lg > 2)
    {
        int s1 = a[1] + a[2] + a[lg] + a[2];
        int s2 = a[lg] + a[lg - 1] + 2 * a[1];
        if(s1 < s2)
        {
            Sol += s1;
            lg -= 2;
        }
        else
        {
            Sol += a[lg] + a[1];
            lg--;
        }
    }
    if(lg == 2) Sol += a[2];
    else if(lg == 1) Sol += a[1];
    out << Sol;
    return 0;
}