Submission #1282229

#TimeUsernameProblemLanguageResultExecution timeMemory
1282229SSKMFExhibition (JOI19_ho_t2)C++20
0 / 100
1 ms568 KiB
#include <bits/stdc++.h>
using namespace std;

pair <int , int> candidat[100001];
int sir[100001];

int main ()
{
    ios :: sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);

    int candidati , cantitate;
    cin >> candidati >> cantitate;

    for (int indice = 1 ; indice <= candidati ; indice++)
        { cin >> candidat[indice].second >> candidat[indice].first; }
    
    for (int indice = 1 ; indice <= cantitate ; indice++)
        { cin >> sir[indice]; }

    sort(candidat + 1 , candidat + candidati + 1);
    sort(sir + 1 , sir + cantitate + 1);

    int stanga = 1 , dreapta = min(cantitate , candidati);
    while (stanga <= dreapta)
    {
        int __indice = 1;
        const int mijloc = (stanga + dreapta) >> 1;
        for (int indice = cantitate - mijloc + 1 ; indice <= cantitate && __indice <= candidati ; indice++) {
            while (__indice <= candidati && candidat[__indice].second > sir[indice])
                { __indice++; }
            __indice++;
        }

        if (__indice <= candidati) { stanga = mijloc + 1; }
        else { dreapta = mijloc - 1; }
    }

    cout << dreapta;
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...