Submission #826486

#TimeUsernameProblemLanguageResultExecution timeMemory
826486NhanBeooExhibition (JOI19_ho_t2)C++17
100 / 100
58 ms4436 KiB
#pragma GCC optimize("Ofast")
#pragma GCC target("avx,avx2,fma")

#include <bits/stdc++.h>
using namespace std;

// #define int ll
#define MAX LLONG_MAX
#define st first
#define nd second
#define endl '\n'
#define SZ(x) ((int)x.size())
#define ALL(x) x.begin(), x.end()
typedef long long ll;
typedef pair< int, int > ii;
typedef pair< int, ii > iii;
typedef vector< int > vi;
typedef vector< ii > vii;
typedef vector< iii > viii;
typedef vector< vi > vvi;
typedef vector< vii > vvii;
typedef vector< viii > vviii;

const int N = 1e5 + 5;
int n, m;
ii a[N];
int c[N];

signed main(){
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	
	cin >> n >> m;
	for(int i=1; i<=n; i++) cin >> a[i].st >> a[i].nd;
	for(int i=1; i<=m; i++) cin >> c[i];
	sort(a+1, a+n+1, [](ii& x, ii& y){
		if(x.nd < y.nd) return true;
		else if(x.nd > y.nd) return false;
		else return x.st < y.st;
	});
	sort(c+1, c+m+1);
	int ptr = n, ans = 0;
	for(int i=m; i>=1; i--){
		while(ptr and a[ptr].st > c[i]) ptr--;
		if(ptr){
			ans++;
			ptr--;
		}
	}
	cout << ans;
} 
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...