Submission #652247

#TimeUsernameProblemLanguageResultExecution timeMemory
652247speedyArdaDetecting Molecules (IOI16_molecules)C++14
Compilation error
0 ms0 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< pair<long long, int > > curr(n); for(int i = 0; i < n; i++) { curr[i].first = w[i]; curr[i].second = i; } sort(curr.begin(), curr.end()); long long sum = 0; int last = 0; bool valid = false; for(int i = 0; i < n; i++) { if(sum + curr[i].first > u) break; sum += curr[i].first; last++; if(sum >= l) { valid = true; break; } } vector<int> res; //cout << curr[0].first << " " << curr[0].second << " " << sum << "\n"; if(valid) { for(int i = 0; i < last; i++) res.push_back(curr[i].second + 1); } else { int left = 0, right = n - 1; while(left < right) { sum -= curr[left].first; sum += curr[right].first; left++; right--; if(sum >= l && sum <= u) { break; } //cout << sum << "\n"; } if(left < right) { long long newsum = 0; for(int i = right + 1; i < n; i++) { newsum += curr[i].first; res.push_back(curr[i].second + 1); //cout << i << "\n"; } int idx = left; while(newsum < l) { newsum += curr[idx].first; res.push_back(curr[idx].second + 1); idx++; } } } return res; }

Compilation message (stderr)

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:12:5: error: 'sort' was not declared in this scope; did you mean 'short'?
   12 |     sort(curr.begin(), curr.end());
      |     ^~~~
      |     short