Submission #819773

#TimeUsernameProblemLanguageResultExecution timeMemory
819773KemalKDetecting Molecules (IOI16_molecules)C++17
0 / 100
1 ms224 KiB
#include "molecules.h" #include <bits/stdc++.h> using namespace std; typedef long long int ll; std::vector<int> find_subset(int l, int u, std::vector<int> w) { int n = w.size(); map <int, int> mp; for (int i = 0; i < n; i++){ mp[w[i]]++; } if (mp.size() < 3){// subtask 2 if (mp.size() == 1){ ll sum = 0; vector <int> ans; bool ok = false; for (int i = 1; i <= 100; i++){ sum += w[0]; if (sum >= l and sum <= u){ ok = true; for (int j = 0; j < i; j++){ ans.push_back(j); } break; } } if(ok) { return ans; } return {}; } else{ int num = mp.begin()->first; int num2 = mp.rbegin()->first; bool ok = false; int k, k2; for (k = 0; k <= mp[num]; k++){ for (k2 = 0; k2 <= mp[num2]; k2++){ if (k*num + k2*num2 >= l and k*num + k2*num2 <= u){ ok = true; break; } } } if(ok){ vector <int> ans; for (int i = 0; i < n; i++){ if (k != 0 and w[i] == num){ ans.push_back(i); k--; } if (k2 != 0 and w[i] == num2){ ans.push_back(i); k2--; } } return ans; } else{ return {}; } } } 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...