Submission #98782

#TimeUsernameProblemLanguageResultExecution timeMemory
98782bogdan10bosExhibition (JOI19_ho_t2)C++14
100 / 100
104 ms1656 KiB
#include <bits/stdc++.h>

using namespace std;

//#define FILE_IO

typedef pair<int, int> pii;
typedef long long LL;

int N, M;
pii v[100005];
int c[100005];

bool solve(int lgt)
{
    int p = M - lgt;
    for(int i = 1; i <= N; i++)
        if(p <= M && v[i].second <= c[p + 1])
            p++;
    return (p >= M);
}

int main()
{
    #ifdef FILE_IO
    freopen("1.in", "r", stdin);
    //freopen("1.out", "w", stdout);
    #endif

    scanf("%d%d", &N, &M);
    for(int i = 1; i <= N; i++)
    {
        int x, y;
        scanf("%d%d", &x, &y);
        v[i] = {y, x};
    }
    sort(v + 1, v + N + 1);
    for(int i = 1; i <= M; i++)
        scanf("%d", &c[i]);
    sort(c + 1, c + M + 1);

    int ans = 0;
    int p = 1, u = min(N, M);
    while(p <= u)
    {
        int mij = p + (u - p) / 2;
        if( solve(mij) )
        {
            ans = mij;
            p = mij + 1;
        }
        else
            u = mij - 1;
    }
    cout << ans << '\n';

    return 0;
}

Compilation message (stderr)

joi2019_ho_t3.cpp: In function 'int main()':
joi2019_ho_t3.cpp:30:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d", &N, &M);
     ~~~~~^~~~~~~~~~~~~~~~
joi2019_ho_t3.cpp:34:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d%d", &x, &y);
         ~~~~~^~~~~~~~~~~~~~~~
joi2019_ho_t3.cpp:39:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d", &c[i]);
         ~~~~~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...