Submission #1297435

#TimeUsernameProblemLanguageResultExecution timeMemory
1297435muhammad-ahmadExhibition (JOI19_ho_t2)C++20
0 / 100
0 ms332 KiB
// #include <bits/stdc++.h> #include <iostream> #include <cmath> #include <algorithm> #include <map> #include <vector> #include <iomanip> #include <string> #include <queue> #include <set> #include <deque> #include <numeric> #include <stack> #include <chrono> using namespace std; void fast_io(){ // freopen("", "r", stdin); // freopen("", "w", stdout); ios::sync_with_stdio(0); cin.tie(); cout.tie(); cout << setprecision(9); } #define int long long #define endl '\n' #define all(v) (v).begin(), (v).end() #define rall(v) (v).rbegin(), (v).rend() #define fi first #define se second void solve() { int n, m; cin >> n >> m; int S[n + 1], V[n + 1], C[m + 1]; vector<pair<int, int>> p; set<int> s; for (int i = 1; i <= n; i++) { cin >> S[i] >> V[i]; p.push_back({S[i], V[i]}); } for (int i = 1; i <= m; i++) cin >> C[i]; sort(all(p)); sort(C + 1, C + m + 1); int idx = 1, lst = 0, ans = 0; for (int i = 1; i <= m; i++){ while (idx <= n && p[idx].fi <= C[i]){ s.insert(p[idx].se); idx++; } while (s.size() && *s.begin() < lst) s.erase(s.begin()); if (s.size()){ ans++; lst = *s.begin(); s.erase(s.begin()); } } cout << ans << endl; return; } signed main() { fast_io(); srand(chrono::steady_clock::now().time_since_epoch().count()); int tc = 1; // cin >> tc; while (tc--) solve(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...