Cod sursă (job #142133)

Utilizator avatar zacusca Alex Iordache zacusca IP ascuns
Problemă Lanterna Compilator cpp | 0,58 kb
Rundă Arhiva de probleme Status evaluat
Dată 11 apr. 2015 17:39:58 Scor 100
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("lanterna.in");
ofstream out("lanterna.out");
int n,a,b,v[100009];
long long s;
inline int min(int x, int y){if(x<y)return x; return y;}
int main()
{
    in>>n;
    for(int i=1;i<=n;i++)
        in>>v[i];
    sort(v+1,v+n+1);
    while(n>3)
    {
        a=v[1]+v[2]*2+v[n];
        b=v[1]*2+v[n-1]+v[n];
        s+=min(a,b);
        n-=2;
    }

    if(n==3)
    {
        s+=v[1]+v[2]+v[3];
    }
    else
    {
        s+=v[2];
    }
    out<<s<<'\n';
    out.close();
    return 0;
}