Submission #305567

#TimeUsernameProblemLanguageResultExecution timeMemory
305567tengiz05Detecting Molecules (IOI16_molecules)C++17
46 / 100
4 ms640 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;
	for(auto x : w)sum += x;
	if(sum < l)return ans;
	
	sum = 0;
	int m=0;
	for(int i=0;i<n;i++){
		sum += a[i].first;
		while(sum > u)sum -= a[m].first, m++;
		
		if(sum >= l && sum <= u){
			for(int j=m;j<=i;j++)ans.push_back(a[j].second);
			break;
		}
	}
//	cout << sum << ' ';
    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...