Cod sursă (job #521923)

Utilizator avatar Alexandru_Stoian Stoian Sorin Alexandru Alexandru_Stoian IP ascuns
Problemă Lanterna Compilator cpp | 0,72 kb
Rundă Arhiva de probleme Status evaluat
Dată 25 ian. 2020 14:25:15 Scor 60


#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);

    int i=n;

    a1=v[1];
    a2=v[2];
    while(i>2){
        a3=v[i-1];
        a4=v[i];

        if(a1-2*a2+a3>0){
            s=s+a1+2*a2+a4;
            i=i-2;
        }
        else{
            s=s+a1+a4;
            --i;
        }
    }

    if(i==2)
        s=s+a2;
    if(i==1)
        s=s+a1;

    g<<s<<'\n';

    return 0;
}