Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <algorithm>
- using namespace std;
- int main()
- { int n,c,x,m,a,b,t,l,r;
- cin>>n;
- vector <int> viz_k;
- vector <int> viz;
- for (int i = 0; i < n; i++){
- cin>>c>>x;
- if (x==0)
- viz.push_back(c);
- else
- viz_k.push_back(c);
- }
- cin>>m;
- sort(viz.begin(),viz.end());
- sort(viz_k.begin(),viz_k.end());
- for (int i = 0; i < m; i++ ){
- cin>>a>>b;
- int res = 0;
- if (b==1){
- l = 0;
- r = viz_k.size()-1;
- t =1;
- if (viz_k[l]>a)
- cout<<viz_k.size();
- else{
- while (r - l > 1){
- t = (l+r)/2;
- if (viz_k[t] > a )
- r = t;
- else
- l = t;
- }
- if (viz_k[l+1]<=a)
- cout<<0;
- else
- cout<<(viz_k.size()-l-1)<<endl;
- }
- }
- else{
- cout<<"ji";
- l = 0;
- r = viz_k.size()-1;
- t =1;
- res =0;
- cout<<"ji";
- if (viz_k[l]>=a){
- res+=viz_k.size();
- cout<<"ji";
- }
- else{
- while (r - l > 1){
- t = (l+r)/2;
- if (viz_k[t] >= a )
- r = t;
- else
- l = t;
- }
- cout<<"ji";
- if (viz_k[l+1]<a)
- res+=0;
- else
- res+=(viz_k.size()-l-1);
- }
- cout<<"ji";
- l = 0;
- r = viz.size()-1;
- t =1;
- res =0;
- if (viz_k[l]>=a)
- res+=viz.size();
- else{
- while (r - l > 1){
- t = (l+r)/2;
- if (viz[t] >= a )
- r = t;
- else
- l = t;
- }
- if (viz[l+1]<a)
- res+=0;
- else
- res+=(viz.size()-l-1);
- }
- cout<<res;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement