Cod sursă (job #803213)

Utilizator avatar penguinvanilic Perciun Cristiano penguinvanilic IP ascuns
Problemă Lanterna Compilator cpp-32 | 0,65 kb
Rundă lasm_09_01_2025_clasa11 Status evaluat
Dată 9 ian. 2025 15:31:48 Scor 60
#include <bits/stdc++.h>
using namespace std;
ifstream fin("lanterna.in"); ofstream fout("lanterna.out");

int lanterna(vector<int>t,int N){
	sort(t.begin(), t.end());
	int sum = 0;
    if (N == 2) {
        return t[1];
    }
    while (N > 3) {
        int o1=2*t[1]+t[0]+t[N-1];
        int o2=2*t[0]+t[N-2]+t[N-1];
        sum += min(o1,o2);
        N-=2;  
    }
    if (N==3) {
        sum += t[2] + t[0] + t[1];
    } else {
        sum += t[1];
    }

    return sum;
}





int main(){
	int n;
	
	fin>>n;
	vector<int> t(n);
	for(int i=0;i<n;i++){
		fin>>t[i];
	}
	int res=lanterna(t,n);
	fout<<res;
	
	
	return 0;
}