Submission #73136

#TimeUsernameProblemLanguageResultExecution timeMemory
73136KmcodeDetecting Molecules (IOI16_molecules)C++14
9 / 100
3 ms644 KiB
#include<bits/stdc++.h>
using namespace std;

//#include "molecules.h"

vector<pair<long long int,int> > im;
std::vector<int> find_subset(int l, int u, std::vector<int> w) {
	sort(w.begin(),w.end());
	im.push_back(make_pair(0,-1));
	for(int i=0;i<w.size();i++){
		im.push_back(make_pair(im.back().first+w[i],i) );
		/*if(l<=im.back()&&im.back()<=u){
			vector<int> ans;
			for(int j=1;j<im.size();j++){
				ans.push_back(im[j].second);
			}
			return ans;
		}*/
		long long int id=lower_bound(im.begin(),im.end(),make_pair(im.back().first-u,-1))-im.begin();
		if(l<=im.back().first-im[id].first&&im.back().first-im[id].first<=u){
			vector<int> ans;
			for(int j=id+1;j<im.size();j++){
				ans.push_back(im[j].second);
			}
			return ans;
		}
	}
    return std::vector<int>(0);
}

Compilation message (stderr)

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:10:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0;i<w.size();i++){
              ~^~~~~~~~~
molecules.cpp:22:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    for(int j=id+1;j<im.size();j++){
                   ~^~~~~~~~~~
#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...