//shubham dextrous
#include<algorithm>
#include<stdlib.h>
#include<iostream>
#include<stdio.h>
using namespace std;
struct name
{
long long id;
long long attr;
long long val;
long long prio;
} namee[ 100004 ] ;
int cmp( struct name a,struct name b) //sorts the structure based on id first(level 1) then attr(level 2) and then priority(level 3)
{
if ( a.id < b.id )
return 1 ;
else if ( a.id > b.id )
return 0 ;
else
{
if ( a.attr < b.attr )
return 1 ;
else if ( a.attr > b.attr )
return 0 ;
else
{
if ( a.prio < b.prio )
return 1 ;
else
return 0 ;
}
}
}
long long l1,l2,l3,l4,arr1[ 100004 ] ,arr2[ 100004 ] ,arr3[ 100004 ] ,arr4[ 100004 ] ;
int main( )
{
long long t,n,count,f,i,w,e;
scanf ( "%lld %lld" ,& n,& f) ;
for ( i= 0 ; i< n; i++ )
scanf ( "%lld %lld %lld %lld" ,& namee[ i] .id ,& namee[ i] .attr ,& namee[ i] .val ,& namee[ i] .prio ) ;
stable_sort( namee,namee+ n,cmp) ;
for ( i= 0 ; i< n; i++ )
{
arr1[ i] = namee[ i] .id ;
arr2[ i] = namee[ i] .attr ;
}
while ( f-- )
{
scanf ( "%lld %lld" ,& w,& e) ;
l1= lower_bound( arr1,arr1+ n,w) ; //lower bound of w
l2= upper_bound( arr1,arr1+ n,w) ; //upper bound of w
l4= upper_bound( arr2+ l1,arr2+ l2,e) ; //upper bound of e
printf ( "%lld\n " ,namee[ l4] .val ) ;
}
return 0 ;
}
Ly9zaHViaGFtIGRleHRyb3VzCgojaW5jbHVkZTxhbGdvcml0aG0+CiNpbmNsdWRlPHN0ZGxpYi5oPgojaW5jbHVkZTxpb3N0cmVhbT4KI2luY2x1ZGU8c3RkaW8uaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKc3RydWN0IG5hbWUKewoJIGxvbmcgbG9uZyBpZDsKICAgICBsb25nIGxvbmcgYXR0cjsKCSBsb25nIGxvbmcgdmFsOwoJIGxvbmcgbG9uZyBwcmlvOwkKfW5hbWVlWzEwMDAwNF07CmludCBjbXAoc3RydWN0IG5hbWUgYSxzdHJ1Y3QgbmFtZSBiKSAvL3NvcnRzIHRoZSBzdHJ1Y3R1cmUgYmFzZWQgb24gaWQgZmlyc3QobGV2ZWwgMSkgdGhlbiBhdHRyKGxldmVsIDIpIGFuZCB0aGVuIHByaW9yaXR5KGxldmVsIDMpCnsKCWlmKGEuaWQ8Yi5pZCkKCSAgICByZXR1cm4gMTsKCWVsc2UgaWYoYS5pZD5iLmlkKQogICAgCXJldHVybiAwOwoJZWxzZQoJewoJCWlmKGEuYXR0cjxiLmF0dHIpCgkgICAgICAgIHJldHVybiAxOwoJICAgIGVsc2UgaWYoYS5hdHRyPmIuYXR0cikKCSAgICAgICAgcmV0dXJuIDA7CgkgICAgZWxzZQoJICAgIHsKCQkJaWYoYS5wcmlvPGIucHJpbykKCSAgICAgICAgICAgIHJldHVybiAxOwoJICAgICAgICBlbHNlCgkgICAgICAgICAgICByZXR1cm4gMDsKCSAgICB9Cgl9Cn0KbG9uZyBsb25nIGwxLGwyLGwzLGw0LGFycjFbMTAwMDA0XSxhcnIyWzEwMDAwNF0sYXJyM1sxMDAwMDRdLGFycjRbMTAwMDA0XTsKaW50IG1haW4oKQp7CgkgICAgbG9uZyBsb25nIHQsbixjb3VudCxmLGksdyxlOwoJCQoJCXNjYW5mKCIlbGxkICVsbGQiLCZuLCZmKTsKCQlmb3IoaT0wO2k8bjtpKyspCgkJCXNjYW5mKCIlbGxkICVsbGQgJWxsZCAlbGxkIiwmbmFtZWVbaV0uaWQsJm5hbWVlW2ldLmF0dHIsJm5hbWVlW2ldLnZhbCwmbmFtZWVbaV0ucHJpbyk7CgkJc3RhYmxlX3NvcnQobmFtZWUsbmFtZWUrbixjbXApOwoJCWZvcihpPTA7aTxuO2krKykKCQkJewoJCQkJYXJyMVtpXT1uYW1lZVtpXS5pZDsKCQkJCWFycjJbaV09bmFtZWVbaV0uYXR0cjsKCQkJfQoJCXdoaWxlKGYtLSkKCQkJewoJCQkJc2NhbmYoIiVsbGQgJWxsZCIsJncsJmUpOwoJCQkJbDE9bG93ZXJfYm91bmQoYXJyMSxhcnIxK24sdyk7IC8vbG93ZXIgYm91bmQgb2YgdyAKCQkJCWwyPXVwcGVyX2JvdW5kKGFycjEsYXJyMStuLHcpOyAvL3VwcGVyIGJvdW5kIG9mIHcKCQkJCWw0PXVwcGVyX2JvdW5kKGFycjIrbDEsYXJyMitsMixlKTsgLy91cHBlciBib3VuZCBvZiBlCgkJCQlwcmludGYoIiVsbGRcbiIsbmFtZWVbbDRdLnZhbCk7CgkJCX0KCXJldHVybiAwOwp9
compilation info
prog.cpp: In function ‘int main()’:
prog.cpp:53:33: error: invalid conversion from ‘long long int*’ to ‘long long int’ [-fpermissive]
l1=lower_bound(arr1,arr1+n,w); //lower bound of w
^
prog.cpp:54:33: error: invalid conversion from ‘long long int*’ to ‘long long int’ [-fpermissive]
l2=upper_bound(arr1,arr1+n,w); //upper bound of w
^
prog.cpp:55:37: error: invalid conversion from ‘long long int*’ to ‘long long int’ [-fpermissive]
l4=upper_bound(arr2+l1,arr2+l2,e); //upper bound of e
^
prog.cpp:39:16: warning: unused variable ‘t’ [-Wunused-variable]
long long t,n,count,f,i,w,e;
^
prog.cpp:39:20: warning: unused variable ‘count’ [-Wunused-variable]
long long t,n,count,f,i,w,e;
^
stdout