Submission #1279789

#TimeUsernameProblemLanguageResultExecution timeMemory
1279789SSKMFExhibition (JOI19_ho_t2)C++20
0 / 100
1 ms572 KiB
#include <bits/stdc++.h> using namespace std; priority_queue <int> candidati; int limita[100001] , stiva[100001]; pair <int , int> sir[100001]; int main () { ios :: sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int cantitate , lungime; cin >> cantitate >> lungime; for (int indice = 1 ; indice <= cantitate ; indice++) { cin >> sir[indice].first >> sir[indice].second; } for (int indice = 1 ; indice <= lungime ; indice++) { cin >> limita[indice]; } sort(sir + 1 , sir + cantitate + 1); sort(limita + 1 , limita + lungime + 1); for (int indice = 1 , ramas = 1 ; indice <= lungime ; indice++) { while (ramas <= cantitate && sir[ramas].first <= limita[indice]) { candidati.push(-sir[ramas++].second); } if (!candidati.empty()) { const int luat = -candidati.top(); candidati.pop(); if (luat >= stiva[stiva[0]]) { stiva[++stiva[0]] = luat; } else { int stanga = 1 , dreapta = stiva[0] - 1; while (stanga <= dreapta) { const int mijloc = (stanga + dreapta) >> 1; if (stiva[mijloc] <= luat) { stanga = mijloc + 1; } else { dreapta = mijloc - 1; } } stiva[stanga] = luat; } } } cout << stiva[0]; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...