제출 #238579

#제출 시각아이디문제언어결과실행 시간메모리
238579haengsyoExhibition (JOI19_ho_t2)C++14
100 / 100
83 ms4480 KiB
#pragma GCC optimize("O3") #include "bits/stdc++.h" #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace std; using namespace __gnu_pbds; typedef long long ll; tree<int,int,greater<int>,rb_tree_tag,tree_order_statistics_node_update> map_t; #define FOR(i, a, b) for (int i = (a); i < (b); i++) #define F0R(i, a) for(int i = 0; i < (a); ++i) #define sz(x) (int)x.size() #define SORT(x) sort(x.begin(),x.end()) #define ERASE(x) x.erase(unique(x.begin(),x.end()),x.end()) #define POSL(x,v) (lower_bound(x.begin(),x.end(),v)-x.begin()) #define POSU(x,v) (upper_bound(x.begin(),x.end(),v)-x.begin()) #define REV(x) reverse(x.begin(),x.end()) int dx[]={-1,0,1,0}; int dy[]={0,-1,0,1}; int n,m; const int mxN=1e5+5; pair<int,int> arr[mxN]; int sizes[mxN]; bool comp(pair<int,int> a,pair<int,int> b) { if(a.second==b.second) return a.first<b.first; return a.second<b.second; } int main() { // freopen("input.txt", "r", stdin); // freopen("output.txt", "w", stdout); ios_base::sync_with_stdio(false); cin.tie(NULL); cin >> n >> m; F0R(i,n) cin >> arr[i].first >> arr[i].second; F0R(i,m) cin >> sizes[i]; sort(arr,arr+n,comp); sort(sizes,sizes+m); int cur=n-1; int res=0; for(int i=m-1; ~i; i--) { while(~cur && arr[cur].first>sizes[i]) cur--; if(~cur) { res++; cur--; } } cout << res; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...