Submission #393459

#TimeUsernameProblemLanguageResultExecution timeMemory
393459antontsiorvasDetecting Molecules (IOI16_molecules)C++14
100 / 100
66 ms5552 KiB
#include "molecules.h"
#include <bits/stdc++.h>
using namespace std;

int len;
pair<int,int> data[200005];

std::vector<int> find_subset(int l, int u, std::vector<int> w) {
	len = w.size();
	for(int i=0; i<len; i++){
		data[i].first = w[i];
		data[i].second = i;
	} 
	sort(data,data+len);
	int beg=0;
	long long int cursum=0;
	vector<int> ret;
	for(int end=0; end<len; end++){
		cursum += data[end].first;
		while(cursum > u && end >= beg){
			cursum -= data[beg].first;
			beg++;
		}
		if(l <= cursum && cursum <= u){
			for(int j=beg; j<=end; j++) ret.push_back(data[j].second);
			sort(ret.begin(),ret.end());
			return ret;
		}
	}
    return std::vector<int>(0);
}
#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...