Submission #159285

#TimeUsernameProblemLanguageResultExecution timeMemory
159285rama_pangDetecting Molecules (IOI16_molecules)C++14
100 / 100
68 ms4856 KiB
#include "molecules.h" #include <bits/stdc++.h> using namespace std; using lint = long long; vector<int> find_subset(int l, int u, vector<int> w) { auto cmp = [&](int a, int b) { return w[a] < w[b]; }; vector<int> ord(w.size()); iota(ord.begin(), ord.end(), 0); sort(ord.begin(), ord.end(), cmp); lint target = w[ord[0]]; vector<int> res; int le = 0, ri = 0; while (le < w.size() && ri < w.size()) { if (l <= target && target <= u) { for (int i = le; i <= ri; i++) res.push_back(ord[i]); break; } else if (target < l) { target += w[ord[++ri]]; } else if (target > u) { target -= w[ord[le++]]; } } return res; }

Compilation message (stderr)

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:18:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     while (le < w.size() && ri < w.size()) {
            ~~~^~~~~~~~~~
molecules.cpp:18:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     while (le < w.size() && ri < w.size()) {
                             ~~~^~~~~~~~~~
#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...