Submission #109359

#TimeUsernameProblemLanguageResultExecution timeMemory
109359dantoh000Detecting Molecules (IOI16_molecules)C++14
100 / 100
90 ms6252 KiB
//#include "molecules.h" #include <bits/stdc++.h> using namespace std; vector<int> find_subset(int l, int u, vector<int> w) { int n = w.size(); vector<int> ans; ans.clear(); vector<pair<int,int> > v; v.clear(); long long all = 0; for (int i = 0; i < w.size(); i++){ v.push_back(make_pair(w[i],i)); all += w[i]; } sort(v.begin(),v.end()); sort(w.begin(),w.end()); if (w[0] > u || all < (long long)l){ return ans; } int s = 0, e = 0; long long sum = 0; while (s <= n && e <= n && (sum > u || sum < l)){ if (sum > u){ sum -= w[s++]; } else{ sum += w[e++]; } } if (sum > u || sum < l) return ans; //printf("%d\n",sum); for (int i = s; i < e; i++){ ans.push_back(v[i].second); } return ans; }

Compilation message (stderr)

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:12:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i = 0; i < w.size(); 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...