Submission #305559

#TimeUsernameProblemLanguageResultExecution timeMemory
305559tengiz05Detecting Molecules (IOI16_molecules)C++17
9 / 100
1 ms256 KiB
#include "molecules.h"
//#include "grader.cpp"
#include <bits/stdc++.h>
using namespace std;

vector<int> find_subset(int l, int u, vector<int> w) {
	int n = w.size();
	vector<pair<int, int>> a;
	for(int i=0;i<n;i++){
		a.push_back({w[i], i});
	}
	sort(a.begin(), a.end());
	vector<int> ans;
	
	int sum = 0;
	//cout << mn << ' ' ;
	for(auto x : w)sum += x;
	if(sum < l)return ans;
	
	sum = 0;
	for(int i=n-1;i>=0;i--){
	//	cout << a[i].first << ' ';
		while(i >= 0 && a[i].first+sum > u)i--;
		if(i == -1)break;
		
		sum += a[i].first;
		ans.push_back(a[i].second);
	}
//	cout << sum << ' ';
	if(sum < l)ans.clear();
    return ans;
}

/*

4 15 17
6 8 8 7

4 14 15
5 5 6 6

4 10 20
15 17 16 18

*/
#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...