Submission #1326069

#TimeUsernameProblemLanguageResultExecution timeMemory
1326069SSKMFDetecting Molecules (IOI16_molecules)C++20
100 / 100
34 ms5276 KiB
#include "molecules.h" #include <bits/stdc++.h> using namespace std; vector <int> find_subset (int minim , int maxim , vector <int> sir) { vector < pair <int , int> > copie(sir.size()); for (int indice = 0 ; indice < (int)sir.size() ; indice++) { copie[indice] = {sir[indice] , indice}; } sort(copie.begin() , copie.end()); vector <int64_t> prefix((int)copie.size() + 1); for (int indice = 1 ; indice <= (int)copie.size() ; indice++) { prefix[indice] = prefix[indice - 1] + copie[indice - 1].first; } for (int luat = (int)copie.size() ; luat && prefix.back() - prefix[(int)copie.size() - luat] >= minim ; luat--) { if (prefix[luat] <= maxim) { int stanga = 0 , dreapta = luat; while (stanga <= dreapta) { const int candidat = (stanga + dreapta) >> 1; if (prefix[candidat] + prefix.back() - prefix[(int)copie.size() - (luat - candidat)] <= maxim) { dreapta = candidat - 1; } else { stanga = candidat + 1; } } if (prefix[stanga] + prefix.back() - prefix[(int)copie.size() - (luat - stanga)] >= minim) { vector <int> rezultat; for (int indice = 0 ; indice < stanga ; indice++) { rezultat.push_back(copie[indice].second); } for (int indice = (int)copie.size() - (luat - stanga) ; indice < (int)copie.size() ; indice++) { rezultat.push_back(copie[indice].second); } return rezultat; } } } return vector <int> (0); }

Compilation message (stderr)

molecules.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
molecules_c.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
#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...