Submission #1366531

#TimeUsernameProblemLanguageResultExecution timeMemory
1366531po_rag526Feast (NOI19_feast)C++20
0 / 100
28 ms2240 KiB
#include <bits/stdc++.h>

using namespace std;

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

	int n, k;

	cin >> n >> k;
	vector<int> comidas(n);

	for(int i = 0; i < n; ++i) {
		cin >> comidas[i];
	}


	int atual = 0, max_atual = 0;
	vector<int> possibilidades;
	for(int i = 0; i < n; ++i) {
		atual += comidas[i];

		if(atual < 0) {
			possibilidades.push_back(max_atual);
			atual = 0;
			max_atual = 0;
		}

		if(atual > max_atual) max_atual = atual;
	}
	
	possibilidades.push_back(max_atual);

	sort(possibilidades.begin(), possibilidades.end(), greater<int>());

	int max_total = 0;
	int tamanho = possibilidades.size();
	int menor = min(tamanho, k);
    
    
	for(int i = 0; i < menor; ++i) {
		max_total += possibilidades[i];
	}

	cout << max_total << "\n";

	return 0;
}

//teste
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...