Submission #258235

#TimeUsernameProblemLanguageResultExecution timeMemory
258235AMO5Exhibition (JOI19_ho_t2)C++17
100 / 100
93 ms4568 KiB
#include <bits/stdc++.h>

using namespace std;

#define fi first
#define se second
#define eb emplace_back
#define mt make_tuple
#define all(x) (x).begin(), (x).end()  
#define sz(x) int(x.size()) 
#define MOD 1000000007

typedef long long ll;
typedef pair <int, int> ii;
typedef pair <ll, ll> pll;
typedef vector<int> vi;
typedef vector<ll> vll;
typedef long double ld;

const ll INF=LLONG_MAX;
const int mxn=1e5+5;
bool DEBUG=0;

ii pic[mxn];
int dis[mxn];
int n,m;

int main()
{
    ios_base::sync_with_stdio(0); cin.tie(0);
    //freopen("input.txt","r",stdin); freopen("output.txt","w",stdout);
	cin >> n >> m;
	for(int i=0; i<n; i++){
		cin >> pic[i].se >> pic[i].fi;
	}
	for(int i=0; i<m; i++){
		cin >> dis[i];
	}
	sort(pic,pic+n);
	sort(dis,dis+m);
	int nn=n-1,mm=m-1;
	int ans = 0;
	while(nn>=0&&mm>=0){
		if(pic[nn].se<=dis[mm]){
			ans++;
			nn--;
			mm--;
		}else nn--;
	}
	cout << ans << '\n';
}
	
// READ & UNDERSTAND
// ll, int overflow, array bounds, memset(0)
// special cases (n=1?), n+1 (1-index)
// do smth instead of nothing & stay organized
// WRITE STUFF DOWN
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...