제출 #274147

#제출 시각아이디문제언어결과실행 시간메모리
274147AhmetYahyaExamination (JOI19_examination)C++17
2 / 100
3085 ms22036 KiB
#include <bits/stdc++.h> using namespace std; #define int long long int #define pb push_back #define st first #define nd second #define lb lower_bound const int N = 100005; int n, q, s, t, x, y, z; multiset <pair<int, int> > sum; multiset <pair<int, int> > inf; multiset <pair<int, int> > mat; vector <pair<int, int> > normal; vector <pair<int, pair<int, int> > > sumv; vector <pair<int, int> > infv; vector <pair<int, int> > matv; pair<int, int> arr[N]; int32_t main(){ cin >> n >> q; for (int i = 0; i < n; i++){ cin >> s >> t; arr[i] = {s,t}; sum.insert({s+t, i}); // sumv.pb({s+t, {s, t}}); // mat.insert({s, i}); // matv.pb({s,t}); // inf.insert({t, i}); // infv.pb({t,s}); } // sort(sumv.begin(), sumv.end()); // sort(matv.begin(), matv.end()); // sort(infv.begin(), infv.end()); for (int i = 0; i < q; i++){ cin >> x >> y >> z; for(auto k = sum.lb({z, 0}); k != sum.end(); k++){ mat.insert(arr[(*k).nd]); } for(auto k = mat.lb({x, 0}); k != mat.end(); k++){ inf.insert({(*k).nd, (*k).st}); // cout << arr[(*k).nd].nd << " "; } cout << distance(inf.lb({y, 0}), inf.end()) << endl; mat.clear(); inf.clear(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...