Submission #1074659

#TimeUsernameProblemLanguageResultExecution timeMemory
1074659beaconmcExamination (JOI19_examination)C++14
20 / 100
166 ms18684 KiB
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> typedef int ll; #define FOR(i,x,y) for(ll i=x; i<y; i++) #define FORNEG(i,x,y) for(lli = x; i>y; i--) using namespace std; using namespace __gnu_pbds; #define ordered_set tree<int,null_type,less_equal<int>,rb_tree_tag,tree_order_statistics_node_update> vector<ll> students[100005]; int main(){ ll n,q; cin >> n >> q; vector<vector<ll>> st; FOR(i,0,n){ ll a,b; cin >> a >> b; students[a].push_back(b); } vector<vector<ll>> queries; FOR(i,0,q){ ll x,y,z; cin >> x >> y >> z; queries.push_back({x,y,z, i}); } vector<ll> ans(q); sort(queries.begin(), queries.end()); reverse(queries.begin(), queries.end()); ordered_set stuff; ll cur = 100004; for (auto&i : queries){ while (cur >= i[0]){ for (auto&i : students[cur]) stuff.insert(i); cur--; } // cout << i[1] << endl; // for (auto&i : stuff) cout << i << " "; // cout << endl; // cout << stuff.order_of_key(i[1]) << endl; ans[i[3]] = stuff.size() - stuff.order_of_key(i[1]); } for (auto&i : ans) cout << i << "\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...