Cod sursă (job #521907)

Utilizator avatar Alexandru_Stoian Stoian Sorin Alexandru Alexandru_Stoian IP ascuns
Problemă Lanterna Compilator cpp | 0,71 kb
Rundă Arhiva de probleme Status evaluat
Dată 25 ian. 2020 14:10:31 Scor 50
#include <bits/stdc++.h>

using namespace std;

ifstream f("lanterna.in");
ofstream g("lanterna.out");


/**

s1=2a1+a3+a4
s2=a1+2a2+a4
------------ -
s1-s2=a1-2a2+a3


s1>s2 <=> a1-2a2+a3>0

*/

int n,v[100001],sf,fi,a1,a2,a3,a4,s;

int main(){

    f>>n;

    for(int i=1; i<=n; ++i)
        f>>v[i];

    sort(v+1,v+n+1);

    sf=n;

    if(n%2==0)
        fi=2;
    else
        fi=3;
    int i=n;
    a1=v[1];
    a2=v[2];
    while(i!=fi){
        a3=v[i-1];
        a4=v[i];
        if(a1-2*a2+a3<0)
            s=s+2*a1+a3+a4;
        else
            s=s+a1+2*a2+a4;
        i=i-2;
    }

    if(fi==2)s=s+a2;
    else s=s+a2+a1;

    g<<s<<'\n';

    return 0;
}