Submission #472449

#TimeUsernameProblemLanguageResultExecution timeMemory
472449nadorbDetecting Molecules (IOI16_molecules)C++14
0 / 100
1 ms332 KiB
#include "molecules.h" #include <bits/stdc++.h> using namespace std; vector<int> find_subset(int l, int u, vector<int> w) { vector<pair<int, int>> v; long long sum = 0, n = v.size(); for(int i = 0; i < n; i++){ v[i].first = w[i]; v[i].second = i; } sort(v.begin(), v.end()); int db = -1; for(int i = 0; i < n; i++){ if(sum + v[i].first < l){ sum += v[i].first; db++; } } vector<int> ki; if((db < n) && (sum + v[db + 1].first <= u)){ for(int i = 0; i < db + 2; i++){ ki.push_back(v[i].second); } return ki; } vector<int> mik; for(int i = 0; i < db; i++){ mik.push_back(i); } for(int i = 0; i < min((n - 1) / 2, (long long)db); i++){ sum += v[n - i - 1].first - v[i].first; mik[i] = n - i - 1; if(sum >= l){ for(int i : mik){ ki.push_back(v[mik[i]].second); } return ki; } } return vector<int>(0); }
#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...