Submission #228225

#TimeUsernameProblemLanguageResultExecution timeMemory
228225pit4hDetecting Molecules (IOI16_molecules)C++14
9 / 100
5 ms384 KiB
#include "molecules.h"
#include <bits/stdc++.h>
#define ll long long
using namespace std;
vector<int> find_subset(int L, int U, vector<int> W) {
	ll l = L;
	ll u = U;
	vector<ll> w;
	for(int i: W) w.push_back(i);
	sort(w.begin(), w.end());
    ll sum=0;
    int n = w.size(), i = 0;
    vector<int> ans;
    while(i<n && sum+w[i]<=u) {
		sum+=w[i];
		ans.push_back(i);
		i++;
	}
	i = n-1;
	vector<int> added;
	while(ans.size() && sum+w[i]-w[ans.back()]<=u) {
		sum+=w[i]-w[ans.back()];
		added.push_back(i);
		i--;
		ans.pop_back();
	}
    if(sum>=l && sum<=u) {
		for(int k: added) {
			ans.push_back(k);
		}
		return ans;
	}
	else {
		return vector<int>();
	}
}
#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...