제출 #526901

#제출 시각아이디문제언어결과실행 시간메모리
526901darrrylExhibition (JOI19_ho_t2)C++14
100 / 100
145 ms5632 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define REP(i,a,b) for(int i = a; i < b; ++i)

signed main(){
	int n, m;
    cin >> n >> m;
    pair<int,int> a[n];
    REP(i,0,n) {
        int s,v;
        cin >> s >> v;
        a[i] = {v,s};
    }
    sort(a,a+n,greater<pair<int,int>>());
    int frame[m];
    REP(i,0,m) {
        cin >> frame[i];
    }
    sort(frame,frame+m,greater<int>());
	int lo = 0, hi = n + 1;
	while(lo < hi - 1){
		int mi = (lo+hi)/2; ///mi is our guess
        int i = 0, j = 0;
        while (i < mi and j < n and i < m) {
            if (a[j].second <= frame[i]) {
                ++i;
                ++j;
            }
            else {
                ++j;
            }
        }
        if (i == mi) {
            lo = mi;
        }
		else {
            hi = mi;
        }
    }
	cout << lo;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...