Submission #61055

#TimeUsernameProblemLanguageResultExecution timeMemory
61055TenuunDetecting Molecules (IOI16_molecules)C++17
0 / 100
3 ms644 KiB
#include "molecules.h" #include<bits/stdc++.h> using namespace std; vector<int> find_subset(int l, int u, std::vector<int> w) { vector<int>res; vector<pair<int, int> >v; for(int i=0; i<w.size(); i++){ v.push_back({w[i], i}); } sort(v.rbegin(), v.rend()); long long curr=0; int r=0; for(int i=0; i<v.size(); i++){ r=max(r, i); if(i==r){ curr=v[i].first; res.clear(); res.push_back(v[i].second); } while(r+1<v.size() && curr<=l){ curr+=v[r+1].first; res.push_back(v[r+1].second); r++; } if(curr>=l && curr<=u) return res; curr-=v[i].first; swap(*res.begin(), *res.end()); res.pop_back(); } if(curr>=l && curr<=u) return res; else return res={}, res; }

Compilation message (stderr)

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:9:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0; i<w.size(); i++){
               ~^~~~~~~~~
molecules.cpp:15:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0; i<v.size(); i++){
               ~^~~~~~~~~
molecules.cpp:22:12: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   while(r+1<v.size() && curr<=l){
         ~~~^~~~~~~~~
#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...