Submission #419260

#TimeUsernameProblemLanguageResultExecution timeMemory
419260JeanBombeurDetecting Molecules (IOI16_molecules)C++17
100 / 100
56 ms6076 KiB
#include <iostream> #include <cstdio> #include <vector> #include <algorithm> #include "molecules.h" using namespace std; vector<int> find_subset(int mini, int maxi, vector<int> Tailles) { long long inf = mini, sup = maxi; vector <pair <long long, int>> Molecules; int nbMolecules = 0; for (int a : Tailles) { Molecules.push_back({(long long)a, nbMolecules ++}); } sort(Molecules.begin(), Molecules.end()); long long sum = 0; int gauche = 0, droite = 0; while (droite < nbMolecules && sum + Molecules[droite].first <= sup) { sum += Molecules[droite ++].first; } while (droite < nbMolecules && sum < inf) { sum += Molecules[droite ++].first - Molecules[gauche ++].first; } if (droite == nbMolecules && sum < inf) return vector<int>(0); vector <int> ans; for (int i = gauche; i < droite; i ++) { ans.push_back(Molecules[i].second); } return ans; }
#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...