Cod sursă (job #486851)

Utilizator avatar Vasilescu_Cosmin Vasilescu Cosmin Vasilescu_Cosmin IP ascuns
Problemă Lanterna Compilator cpp | 0,88 kb
Rundă Arhiva de probleme Status evaluat
Dată 20 sept. 2019 08:45:25 Scor 20
#include <bits/stdc++.h>
using namespace std;
ifstream in ("lanterna.in");
ofstream out ("lanterna.out");
long int t[100005];
int main()
{
    long long n,i,si,minim=LLONG_MAX,j,s=0;
    in>>n;
    for(i=1; i<=n; i++)
    {
        in>>t[i];
    }
    sort(t+1,t+n+1);
    for(i=3; i<=n; i++)
    {
        s+=t[i];
    }
    if(n>=4)
    {
        for(i=0; i<=2; i++)
        {
            si=(n-2-i)*t[1]+(2*i+1)*t[2]+s;
            for(j=1; j<=i; j++)
                si-=t[n+1-2*j];
            if(si<minim)
                minim=si;
        }
    }
    else
    {
        for(i=0; i<=n/2-1; i++)
        {
            si=(n-2-i)*t[1]+(2*i+1)*t[2]+s;
            for(j=1; j<=i; j++)
                si-=t[n+1-2*j];
            if(si<minim)
                minim=si;
            else
                break;
        }
    }
    out<<minim;
    return 0;
}