Submission #239434

#TimeUsernameProblemLanguageResultExecution timeMemory
239434GREGOIRELCDetecting Molecules (IOI16_molecules)C++14
100 / 100
88 ms6248 KiB
#include <iostream> #include <vector> #include <algorithm> using namespace std; #define ll long long vector<int> find_subset(int l, int u, std::vector<int> w) { vector<pair<ll, ll> > val; for(int i = 0; i < w.size(); i++) { val.push_back({w[i], i}); } sort(val.begin(), val.end()); sort(w.begin(), w.end()); ll deb = 0, fin = 0; ll s = 0; while(fin < val.size() && s < l) { if(s + val[fin].first > u) { s -= val[deb].first; s += val[fin].first; deb++; fin++; } else { s += val[fin].first; fin++; } } vector<int> result; if(s < l || s > u) { return result; } for(int i = deb; i < fin; i++) { result.push_back(val[i].second); } return result; }

Compilation message (stderr)

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:12:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i = 0; i < w.size(); i++)
                 ~~^~~~~~~~~~
molecules.cpp:20:12: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  while(fin < val.size() && s < 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...