Submission #953875

#TimeUsernameProblemLanguageResultExecution timeMemory
953875emad234Detecting Molecules (IOI16_molecules)C++17
100 / 100
40 ms9920 KiB
#include "molecules.h" #include <bits/stdc++.h> #define ll long long #define F first #define S second #define pii pair<ll, ll> const ll mod = 1e9 + 7; const ll mxN = 1e6 + 5; using namespace std; std::vector<int> find_subset(int l, int u, std::vector<int> w) { vector<pii>v; int n = w.size(); int R = n - 1; for(int i = 0;i < n;i++){ v.push_back({w[i],i}); } sort(v.begin(), v.end()); ll num = 0; vector<int> ans; for (int i = n - 1; i >= 0; i--) { if (num >= l && num <= u) { for (int j = i + 1; j <= R; j++) ans.push_back(v[j].S); return ans; } if (num > u) { num -= v[R].F; R--; } if (num >= l && num <= u) { for (int j = i + 1; j <= R; j++) ans.push_back(v[j].S); return ans; } num += v[i].F; if (num >= l && num <= u) { // cout << i << ' ' << R << '\n'; for (int j = i; j <= R; j++) ans.push_back(v[j].S); return ans; } } return {}; }
#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...