Cod sursă (job #14479)

Utilizator avatar alex.glont Alexandru Mihai Glontaru alex.glont IP ascuns
Problemă Lanterna Compilator cpp | 0,80 kb
Rundă Concurs clasele 9-10 Status evaluat
Dată 8 mar. 2013 11:51:13 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;

}