#pragma GCC optimize ("Ofast")
#include<bits/stdc++.h>
using namespace std;
#define main dummy_main
int main( ) {
return 0 ;
}
#undef main
class Solution{
public :
vector< int > filterRestaurants( vector< vector< int >> & restaurants, int veganFriendly, int maxPrice, int maxDistance) {
int i;
vector< vector< int >> tmp;
vector< int > res;
for ( i= ( 0 ) ; i< ( restaurants.size ( ) ) ; i++ ) {
if ( restaurants[ i] [ 2 ] < veganFriendly) {
continue ;
}
if ( restaurants[ i] [ 3 ] > maxPrice) {
continue ;
}
if ( restaurants[ i] [ 4 ] > maxDistance) {
continue ;
}
tmp.push_back ( vector< int > { restaurants[ i] [ 1 ] , restaurants[ i] [ 0 ] } ) ;
}
sort( tmp.rbegin ( ) , tmp.rend ( ) ) ;
for ( i= ( 0 ) ; i< ( tmp.size ( ) ) ; i++ ) {
res.push_back ( tmp[ i] [ 1 ] ) ;
}
return res;
}
}
;
// cLay varsion 20200119-1
// --- original code ---
// #define main dummy_main
// {}
// #undef main
//
// class Solution {
// public:
// vector<int> filterRestaurants(vector<vector<int>>& restaurants, int veganFriendly, int maxPrice, int maxDistance) {
// vector<vector<int>> tmp;
// vector<int> res;
//
// rep(i,restaurants.size()){
// if(restaurants[i][2] < veganFriendly) continue;
// if(restaurants[i][3] > maxPrice) continue;
// if(restaurants[i][4] > maxDistance) continue;
// tmp.push_back(vector<int>{restaurants[i][1], restaurants[i][0]});
// }
// sort(tmp.rbegin(), tmp.rend());
// rep(i,tmp.size()) res.push_back(tmp[i][1]);
// return res;
// }
// };
I3ByYWdtYSBHQ0Mgb3B0aW1pemUgKCJPZmFzdCIpCiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbWFpbiBkdW1teV9tYWluCmludCBtYWluKCl7CiAgcmV0dXJuIDA7Cn0KI3VuZGVmIG1haW4KY2xhc3MgU29sdXRpb257CiAgcHVibGljOgogIHZlY3RvcjxpbnQ+IGZpbHRlclJlc3RhdXJhbnRzKHZlY3Rvcjx2ZWN0b3I8aW50Pj4mIHJlc3RhdXJhbnRzLCBpbnQgdmVnYW5GcmllbmRseSwgaW50IG1heFByaWNlLCBpbnQgbWF4RGlzdGFuY2UpewogICAgaW50IGk7CiAgICB2ZWN0b3I8dmVjdG9yPGludD4+IHRtcDsKICAgIHZlY3RvcjxpbnQ+IHJlczsKICAgIGZvcihpPSgwKTtpPChyZXN0YXVyYW50cy5zaXplKCkpO2krKyl7CiAgICAgIGlmKHJlc3RhdXJhbnRzW2ldWzJdIDwgdmVnYW5GcmllbmRseSl7CiAgICAgICAgY29udGludWU7CiAgICAgIH0KICAgICAgaWYocmVzdGF1cmFudHNbaV1bM10gPiBtYXhQcmljZSl7CiAgICAgICAgY29udGludWU7CiAgICAgIH0KICAgICAgaWYocmVzdGF1cmFudHNbaV1bNF0gPiBtYXhEaXN0YW5jZSl7CiAgICAgICAgY29udGludWU7CiAgICAgIH0KICAgICAgdG1wLnB1c2hfYmFjayh2ZWN0b3I8aW50PntyZXN0YXVyYW50c1tpXVsxXSwgcmVzdGF1cmFudHNbaV1bMF19KTsKICAgIH0KICAgIHNvcnQodG1wLnJiZWdpbigpLCB0bXAucmVuZCgpKTsKICAgIGZvcihpPSgwKTtpPCh0bXAuc2l6ZSgpKTtpKyspewogICAgICByZXMucHVzaF9iYWNrKHRtcFtpXVsxXSk7CiAgICB9CiAgICByZXR1cm4gcmVzOwogIH0KfQo7Ci8vIGNMYXkgdmFyc2lvbiAyMDIwMDExOS0xCgovLyAtLS0gb3JpZ2luYWwgY29kZSAtLS0KLy8gI2RlZmluZSBtYWluIGR1bW15X21haW4KLy8ge30KLy8gI3VuZGVmIG1haW4KLy8gCi8vIGNsYXNzIFNvbHV0aW9uIHsKLy8gcHVibGljOgovLyAgIHZlY3RvcjxpbnQ+IGZpbHRlclJlc3RhdXJhbnRzKHZlY3Rvcjx2ZWN0b3I8aW50Pj4mIHJlc3RhdXJhbnRzLCBpbnQgdmVnYW5GcmllbmRseSwgaW50IG1heFByaWNlLCBpbnQgbWF4RGlzdGFuY2UpIHsKLy8gICAgIHZlY3Rvcjx2ZWN0b3I8aW50Pj4gdG1wOwovLyAgICAgdmVjdG9yPGludD4gcmVzOwovLyAKLy8gICAgIHJlcChpLHJlc3RhdXJhbnRzLnNpemUoKSl7Ci8vICAgICAgIGlmKHJlc3RhdXJhbnRzW2ldWzJdIDwgdmVnYW5GcmllbmRseSkgY29udGludWU7Ci8vICAgICAgIGlmKHJlc3RhdXJhbnRzW2ldWzNdID4gbWF4UHJpY2UpIGNvbnRpbnVlOwovLyAgICAgICBpZihyZXN0YXVyYW50c1tpXVs0XSA+IG1heERpc3RhbmNlKSBjb250aW51ZTsKLy8gICAgICAgdG1wLnB1c2hfYmFjayh2ZWN0b3I8aW50PntyZXN0YXVyYW50c1tpXVsxXSwgcmVzdGF1cmFudHNbaV1bMF19KTsKLy8gICAgIH0KLy8gICAgIHNvcnQodG1wLnJiZWdpbigpLCB0bXAucmVuZCgpKTsKLy8gICAgIHJlcChpLHRtcC5zaXplKCkpIHJlcy5wdXNoX2JhY2sodG1wW2ldWzFdKTsKLy8gICAgIHJldHVybiByZXM7Ci8vICAgfQovLyB9Owo=