Cod sursă (job #521775)

Utilizator avatar gioto Popescu gioto IP ascuns
Problemă Lanterna Compilator cpp | 0.50 kb
Rundă Arhiva de probleme Status evaluat
Dată 25 ian. 2020 12:34:24 Scor 80
#include <bits/stdc++.h>
using namespace std;

const long long INF = 1e18;

int n;
int a[100005];
long long d[100005];

int main(){
	freopen("lanterna.in", "r", stdin);
	freopen("lanterna.out", "w", stdout);
	
	scanf("%d", &n);
	for(int i = 1; i <= n ; ++i) scanf("%d", &a[i]);
	sort(a + 1, a + n + 1);
	
	for(int i = n; i >= 2 ; --i){
		d[i] = d[i + 1] + a[i] + a[1];
		if(i < n){
			d[i] = min(d[i], d[i + 2] + a[i + 1] + a[1] + 2 * a[2]);
		}
	}
	
	printf("%lld", min(d[3] + a[2], d[2] + a[1]));
	
	return 0;
}