Cod sursă (job #545659)

Utilizator avatar RedFiree Alex Prohnitchi RedFiree IP ascuns
Problemă Lanterna Compilator cpp | 0,80 kb
Rundă lasm_19_03_2020_10 Status evaluat
Dată 19 mar. 2020 14:17:34 Scor 100
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;

fstream in("lanterna.in",ios::in),
        out("lanterna.out",ios::out);
long long rez;
int v[100000],n;

bool comp(int a, int b) { return a<b; }

int main(){
    int i;

    in>>n;
    for(i=0;i<n;i++){
        in>>v[i];
    }
    sort(v,v+n,comp);

    while(n){
        if(n>3){
            if((v[0]+2*v[1]+v[n-1])>(2*v[0]+v[n-1]+v[n-2])){
                rez+=2*v[0]+v[n-1]+v[n-2];
            }
            else{
                rez+=v[0]+2*v[1]+v[n-1];
            }
            n-=2;
        }
        if(n==3){
            rez+=v[0]+v[1]+v[2];
            n=0;
        }

        if(n==2){
            rez+=v[1];
            n=0;
        }
    }

    out<<rez<<'\n';

    return 0;

}