Submission #307941

#TimeUsernameProblemLanguageResultExecution timeMemory
307941AmineTrabelsiDetecting Molecules (IOI16_molecules)C++14
100 / 100
61 ms3704 KiB
#include "molecules.h"
#include "bits/stdc++.h"
using namespace std;
#define f first
#define s second
typedef long long ll;
vector<int> find_subset(int l, int u, vector<int> w){
	ll sum = 0;
	int r = 0,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++){
		sum += a[i].f;
		while(r < i && sum > u){
			sum-=a[r++].f;
		}
		if(sum >= l && sum <= u){
			vector<int> ans;
			for(int j=r;j<=i;j++){
				ans.push_back(a[j].s);
			}
			return ans;
		}
	}
	return vector<int>();
}
/*
int main(){
	vector<int> x ={6,8,8,7},v = find_subset(15,17,x);
	for(auto i:v)cout<<i<<" ";
	cout<<endl;
	return 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...