Submission #416577

#TimeUsernameProblemLanguageResultExecution timeMemory
416577amunduzbaevDetecting Molecules (IOI16_molecules)C++14
69 / 100
50 ms5560 KiB
#include "bits/stdc++.h"
#include "molecules.h"
#ifndef EVAL
#include "grader.cpp"
#endif
using namespace std;

#define ff first
#define ss second
#define pb push_back
vector<pair<int, int>> tt;

vector<int> vec(int l, int r){
	vector<int> res;
	for(int i=l;i<=r;i++) res.pb(tt[i].ss);
	return res;
}

vector<int> find_subset(int l, int u, vector<int> w) {
	int n = (int)w.size();
	for(int i=0;i<n;i++) tt.pb({w[i], i});
	sort(tt.begin(), tt.end());
	int lx = 0, r = 0, sum = tt[0].ff;
	if(sum >= l && sum <= u) return vec(lx, r);
	for(r++;r<n;r++){
		sum += tt[r].ff;
		while(lx <= r && sum > u) sum -= tt[lx].ff, lx++;
		if(l <= sum && sum <= u) return vec(lx, r);
	} return {};
}
#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...