Submission #788432

#TimeUsernameProblemLanguageResultExecution timeMemory
788432jmyszka2007Exhibition (JOI19_ho_t2)C++17
0 / 100
1 ms296 KiB
#include <bits/stdc++.h> using namespace std; template<class A, class B> ostream& operator<<(ostream& o, const pair<A, B>& p) { return o << '(' << p.first << ", " << p.second << ')'; } template<class T> auto operator<<(ostream& o, const T& x) -> decltype(x.end(), o) { o << '{'; bool first = true; for (const auto& e : x) { if (!first) { o << ", "; } o << e; first = false; } return o << '}'; } #define DEBUG #ifdef DEBUG #define fastio() #define debug(x...) cerr << "[" #x "]: ", [](auto... $) {((cerr << $ << "; "), ...); }(x), cerr << '\n' #define check(x) if (!(x)) { cerr << "Check failed: " << #x << " in line " << __LINE__ << endl; exit(1); } #else #define fastio() ios_base::sync_with_stdio(0); cin.tie(0); #define debug(...) #define check(x) #endif typedef long long ll; #define pi pair<int, int> #define pl pair<ll, ll> #define st first #define nd second #define vi vector<int> #define vll vector<ll> #define pb push_back #define all(x) (x).begin(), (x).end() #define sz(x) (int)(x).size() void solve() { int n, m; cin >> n >> m; vector<pi>tab; for(int i = 1; i <= n; i++) { int a, b; cin >> a >> b; tab.pb({a, b}); } sort(all(tab)); vi tab2; for(int i = 1; i <= m; i++) { int x; cin >> x; tab2.pb(x); } sort(all(tab2)); int pop = 0; int j = 0; multiset<int>akt; int ans = 0; for(int i = 1; i <= m; i++) { while(j < sz(tab) && tab[j].st <= tab2[i]) { if(tab[j].nd >= pop) { akt.insert(tab[j].nd); } j++; } if(akt.size()) { ans++; auto it = akt.find(*akt.begin()); pop = *akt.begin(); akt.erase(it); } } cout << ans << '\n'; } int main() { fastio(); int t; //cin >> t; t = 1; while(t--) { solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...