Submission #50331

#TimeUsernameProblemLanguageResultExecution timeMemory
50331ernestvwDetecting Molecules (IOI16_molecules)C++11
9 / 100
3 ms640 KiB
#include <bits/stdc++.h>
using namespace std;

vector<int> find_subset(int l, int u, vector<int> w) {
	vector<int> result;
	vector<pair<int, int>> poids;
	for(int i = 0; i < (int)w.size(); i++) {
		poids.push_back({w[i], i});
	}
	sort(poids.begin(), poids.end());
	long long somme = 0;
	int i2 = -1;
	int a(-1), b(-1);
	for(int i = 0; i < (int)w.size(); i++) {
		if(i2 < i) {
			somme = (long long)poids[i].first;
			i2 = i;
		}
		while(i2+1 < (int)w.size() and somme+poids[i2+1].first<=u) {
			somme += (long long)poids[i2+1].first;
			i2++;
		}
		if(l <= somme and somme <= u) {
			a = i;
			b = i2;
			break;
		}
	}
	if(a == -1) return result;
	for(int i = a; i <= b; i++) result.push_back(poids[i].second);
	return result;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...