Cod sursă (job #559943)

Utilizator avatar andrei_marciuc Marciuc Andrei andrei_marciuc IP ascuns
Problemă Lanterna Compilator cpp | 0.62 kb
Rundă Arhiva de probleme Status evaluat
Dată 6 iul. 2020 21:18:28 Scor 100
#include <algorithm>
#include <fstream>
using namespace std;
int v[ 100001 ], n;
long long s;

int main()
{
    int i, x, y;
    ifstream fin( "lanterna.in" );
    fin >> n;
    for( i = 0; i < n; i++ )
        fin >> v[ i ];
    fin.close();
    sort( v, v + n );
    while( n > 3 ){
        x = v[ 0 ] + 2 * v[ 1 ] + v[ n - 1 ];
        y = 2 * v[ 0 ] + v[ n - 2 ] + v[ n - 1 ];
        s += min( x, y );
        n -= 2;
    }
    if( n == 3 )
        s += v[ 0 ] + v[ 1 ] + v[ 2 ];
    else s += v[ 1 ];
    ofstream fout( "lanterna.out" );
    fout << s << '\n';
    fout.close();
    return 0;
}