Submission #524353

#TimeUsernameProblemLanguageResultExecution timeMemory
524353blueAkcija (COCI15_akcija)C++17
80 / 80
16 ms2424 KiB
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

using ll = long long;
using vll = vector<ll>;

const ll INF = 1'000'000'000'000LL;

int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);

	int N;
	cin >> N;

	vll C(1+N, 0);
	for(int i = 1; i <= N; i++) cin >> C[i];

	sort(C.begin(), C.end());

	vll dp(1+N, INF);
	dp[0] = 0;

	for(int i = 1; i <= N; i++)
	{
		dp[i] = dp[i-1] + C[i];

		if(i >= 3)
		{
			dp[i] = min(dp[i], dp[i-3] + C[i] + C[i-1]);
		}
	}
	cout << dp[N] << '\n';
}
#Verdict Execution timeMemoryGrader output
Fetching results...