Submission #107999

#TimeUsernameProblemLanguageResultExecution timeMemory
107999FiloSanzaDetecting Molecules (IOI16_molecules)C++14
0 / 100
3 ms384 KiB
#include "molecules.h" #include <bits/stdc++.h> using namespace std; vector<int> build(multiset<int>& el, const vector<int>& w){ vector<int> sol; for(int i=0; i<w.size(); i++)if(el.count(w[i])){ el.erase(el.find(w[i])); sol.push_back(i); } return sol; } vector<int> find_subset(int l, int u, vector<int> w) { sort(w.begin(), w.end()); long long sum = 0; multiset<int> el; for(auto i : w) sum += 1LL*i, el.insert(i); while(!el.empty()){ cout << sum << "\n"; if(sum < l) return vector<int>(0); if(sum >= l && sum <= u) return build(el, w); long long diff = sum - u; auto it = el.lower_bound(diff); if(it == el.end()) it = prev(el.end()); sum -= *it; el.erase(it); } return vector<int>(0); }

Compilation message (stderr)

molecules.cpp: In function 'std::vector<int> build(std::multiset<int>&, const std::vector<int>&)':
molecules.cpp:8:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0; i<w.size(); i++)if(el.count(w[i])){
                  ~^~~~~~~~~
#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...