Submission #416970

#TimeUsernameProblemLanguageResultExecution timeMemory
416970DEQKDetecting Molecules (IOI16_molecules)C++17
100 / 100
58 ms5596 KiB
#include <molecules.h>
#include <bits/stdc++.h>

#define ll long long
using namespace std;
const int N = 100100;

vector<int> find_subset(int l,int u, vector<int> w) {
	vector<int> res;
	vector<ll> pref = {0};
	int n = w.size();
	vector<pair<int, int>> a(n);
	for(int i = 0; i < n; i++) {
		a[i] = {w[i], i};
	}
	sort(a.begin(), a.end());
	for(int i = 0; i < n; i++) {
		pref.push_back(pref.back() + a[i].first);
	}
	int j = 0;
	for(int i = 0; i < n; i++) {
		while(j <= n && pref[j] - pref[i] < l) j++;
		if(j <= n && pref[j] - pref[i] >= l && pref[j] - pref[i] <= u) {
			for(i++; i <= j; i++) {
				res.push_back(a[i - 1].second);	
			}
			break;
		}
	}
	return res;
}
#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...