Submission #1097742

#TimeUsernameProblemLanguageResultExecution timeMemory
1097742NewtonabcDetecting Molecules (IOI16_molecules)C++14
100 / 100
46 ms8392 KiB
#include "molecules.h"
#include<bits/stdc++.h>
#define mp make_pair
using namespace std;
const int N=5e5+10;
bool dp[N];
int bk[N],n,st=0;
vector<pair<long long,int> > v;
vector<int> find_subset(int l, int u, vector<int> w) {
	n=w.size();
	long long sum=0;
	vector<int> ans;
	for(int i=0;i<n;i++){
		v.push_back(mp(w[i],i));
	}
	sort(v.begin(),v.end());
	for(int i=0;i<n;i++){
		sum+=v[i].first;
		if(sum>u) sum-=v[st].first,st++;
		if(sum>=l && sum<=u){
			for(int j=st;j<=i;j++){
				ans.push_back(v[j].second);
			}
			return ans;
		}
		//cout<<sum <<"\n";
	}
	//cout<<"\n\n\n";
    return ans;
}
#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...