Language: C++

#include <bits/stdc++.h>
using namespace std;
///////////////////////////////////////////
const long long int INF = INT64_MAX;
const long long int Mod = 1000000007;
using ll = long long int; using ci = const int;
using vi = vector<int>;
using Vi = vector<long long int>;
typedef pair<int, int> P; typedef pair<ll, ll> PLL;
#define pb(x) push_back(x)
#define mp(x,y) make_pair(x,y)
#define all(x) (x).begin(),(x).end()
#define rep(i,N) for(ll i=0;i<N;i++)
auto max(auto x,auto y){if(x>y){return x;}else{return y;}}
auto min(auto x,auto y){if(x>y){return y;}else{return x;}}
template<class T>bool chmax(T &former, const T &b) { if (former<b) { former=b; return true; } return false; }
template<class T>bool chmin(T &former, const T &b) { if (b<former) { former=b; return true; } return false; }
template<class T>T sqar(T x){ return x*x; }//sqrt(x)は平方根;
#define Sort(v) std::sort(v.begin(), v.end(), std::greater<decltype(v[0])>()) //降順でVをソート
typedef vector<vector<ll> > matrix;
void princ(auto x){cout<<x<<" ";}; void print(auto x){cout<<x<<"\n";};
///////////////////////////////////////////////////////////////////////////////////

ll n,q;
vector<tuple<ll,ll,ll>> v;
set<ll> d;
Vi ans;
int main(){
    cin.tie(0);ios::sync_with_stdio(false);
    cin>>n>>q; ll _s,_t,_d; ans.resize(q,-1);
    rep(i,n){
        scanf("%d%d%d", &_s, &_t, &_x);
        v.pb(make_tuple(_d,_s,_t));
    }
    d.resize(q);
    rep(i,q){
        cin>>d[i];
    }
    sort(all(v));
    rep(i,n){//[it,it2)
        ll x = get<1>(v[i])-get<0>(v[i]), y= get<2>(v[i])-get<0>(v[i]);
        decltype(d)::iterator it = lower_bound(all(d),x);//itから
        decltype(d)::iterator it2 = lower_bound(all(d),y);//it2-1まで
        //cout<<"0: "<<get<0>(v[i])<<endl;
        if(it==d.end() && *it < x)continue;
        if(it2==d.end() && *it2 < y)continue;
        for(ll j = it-d.begin();j<it2-d.begin();j++){
            ans[j] = get<0>(v[i]);
            d.erase(it,it2);
        }        
    }
    rep(i,q)print(ans[i]);
    return 0;
}

Compiler output:
a.cc:14:10: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   14 | auto max(auto x,auto y){if(x>y){return x;}else{return y;}}
      |          ^~~~
a.cc:14:17: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   14 | auto max(auto x,auto y){if(x>y){return x;}else{return y;}}
      |                 ^~~~
a.cc:15:10: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   15 | auto min(auto x,auto y){if(x>y){return y;}else{return x;}}
      |          ^~~~
a.cc:15:17: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   15 | auto min(auto x,auto y){if(x>y){return y;}else{return x;}}
      |                 ^~~~
a.cc:21:12: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   21 | void princ(auto x){cout<<x<<" ";}; void print(auto x){cout<<x<<"\n";};
      |            ^~~~
a.cc:21:47: warning: use of 'auto' in parameter declaration only available with '-std=c++20' or '-fconcepts'
   21 | void princ(auto x){cout<<x<<" ";}; void print(auto x){cout<<x<<"\n";};
      |                                               ^~~~
a.cc: In function 'int main()':
a.cc:32:36: error: '_x' was not declared in this scope; did you mean '_d'?
   32 |         scanf("%d%d%d", &_s, &_t, &_x);
      |                                    ^~
      |                                    _d
a.cc:35:7: error: 'class std::set<long long int>' has no member named 'resize'; did you mean 'size'?
   35 |     d.resize(q);
      |       ^~~~~~
      |       size
a.cc:37:15: error: no match for 'operator[]' (operand types are 'std::set<long long int>' and 'll' {aka 'long long int'})
   37 |         cin>>d[i];
      |               ^
a.cc:47:22: error: no match for 'operator-' (operand types are 'std::set<long long int>::iterator' {aka 'std::_Rb_tree<long long int, long long int, std::_Identity<long long int>, std::less<long long int>, std::allocator<long long int> >::const_iterator'} and 'std::set<long long int>::iterator' {aka 'std::_Rb_tree<long long int, long long int, std::_Identity<long long int>, std::less<long long int>, std::allocator<long long int> >::const_iterator'})
   47 |         for(ll j = it-d.begin();j<it2-d.begin();j++){
      |                    ~~^~~~~~~~~~
      |                    |         |
      |                    |         _Rb_tree_const_iterator<[...]>
      |                    _Rb_tree_const_iterator<[...]>
In file included from /usr/include/c++/14/bits/stl_algobase.h:67,
                 from /usr/include/c++/14/algorithm:60,
                 from /usr/include/x86_64-linux-gnu/c++/14/bits/stdc++.h:51,
                 from a.cc:1:
/usr/include/c++/14/bits/stl_iterator.h:618:5: note: candidate: 'template<class _IteratorL, class _IteratorR> constexpr decltype ((__y.base() - __x.base())) std::operator-(const reverse_iterator<_Iterator>&, const reverse_iterator<_IteratorR>&)'
  618 |     operator-(const reverse_iterator<_IteratorL>& __x,
      |     ^~~~~~~~
/usr/include/c++/14/bits/stl_iterator.h:618:5: note:   template argument deduction/substitution failed:
a.cc:47:31: note:   'std::set<long long int>::iterator' {aka 'std::_Rb_tree<long long int, long long int, std::_Identity<long long int>, std::less<long long int>, std::allocator<long long int> >::const_iterator'} is not derived from 'const std::reverse_iterator<_Iterator>'
   47 |         for(ll j = it-d.begin();j<it2-d.begin();j++){
      |                               ^
/usr/include/c++/14/bits/stl_iterator.h:1790:5: note: candidate: 'template<class _IteratorL, class _IteratorR> constexpr decltype ((__x.base() - __y.base())) std::operator-(const move_iterator<_IteratorL>&, const move_iterator<_IteratorR>&)'
 1790 |     operator-(const move_iterator<_IteratorL>& __x,
      |     ^~~~~~~~
/usr/include/c++/14/bits/stl_iterator.h:1790:5: note:   template argument deduction/substitution failed:
a.cc:47:31: note:   'std::set<long long int>::iterator' {aka 'std::_Rb_tree<long long int, long long int, std::_Identity<long long int>, std::less<long long int>, std::allocator<long long int> >::const_iterator'} is not derived from 'const std::move_iterator<_IteratorL>'
   47 |         for(ll j = it-d.begin();j<it2-d.begin();j++){
      |                               ^
In file included from /usr/include/c++/14/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/14/bits/stdc++.h:127:
/usr/include/c++/14/complex:370:5: note: candidate: 'template<class _Tp> std::complex<_Tp> std::operator-(const complex<_Tp>&, const complex<_Tp>&)'
  370 |     operator-(const complex<_Tp>& __x, const complex<_Tp>& __y)
      |     ^~~~~~~~
/usr/include/c++/14/complex:370:5: note:   template argument deduction/substitution failed:
a.cc:47:31: note:   'std::set<long long int>::iterator' {aka 'std::_Rb_tree<long long int, long long int, std::_Identity<long long int>, std::less<long long int>, std::allocator<long long int> >::const_iterator'} is not derived from 'const std::complex<_Tp>'
   47 |         for(ll j = it-d.begin();j<it2-d.begin();j++){
      |                               ^
/usr/include/c++/14/complex:379:5: note: candidate: 'template<class _Tp> std::complex<_Tp> std::operator-(const complex<_Tp>&, const _Tp&)'
  379 |     operator-(const complex<_Tp>& __x, const _Tp& __y)
      |     ^~~~~~~~
/usr/include/c++/14/complex:379:5: note:   template argument deduction/substitution failed:
a.cc:47:31: note:   'std::set<long long int>::iterator' {aka 'std::_Rb_tree<long long int, long long int, std::_Identity<long long int>, std::less<long long int>, std::allocator<long long int> >::const_iterator'} is not derived from 'const std::complex<_Tp>'
   47 |         for(ll j = it-d.begin();j<it2-d.begin();j++){
      |                               ^
/usr/include/c++/14/complex:388:5: note: candidate: 'template<class _Tp> std::complex<_Tp> std::operator-(const _Tp&, const complex<_Tp>&)'
  388 |     operator-(const _Tp& __x, const complex<_Tp>& __y)
      |     ^~~~~~~~
/usr/include/c++/14/complex:388:5: note:   template argument deduction/substitution failed:
a.cc:47:31: note:   'std::set<long long int>::iterator' {aka 'std::_Rb_tree<long long int, long long int, std::_Identity<long long int>, std::less<long long int>, std::allocator<long long int> >::const_iterator'} is not derived from 'const std::complex<_Tp>'
   47 |         for(ll j = it-d.begin();j<it2-d.begin();j++){
      |                               ^
/usr/include/c++/14/complex:465:5: note: candidate: 'template<class _Tp> std::complex<_Tp> std::operator-(const complex<_Tp>&)'
  465 |     operator-(const complex<_Tp>& __x)
      |     ^~~~~~~~
/usr/include/c++/14/complex:465:5: note:   candidate expects 1 argument, 2 provided
In file included from /usr/include/c++/14/valarray:605,
                 from /usr/include/x86_64-linux-gnu/c++/14/bits/stdc++.h:166:
/usr/include/c++/14/bits/valarray_after.h:406:5: note: candidate: 'template<class _Dom1, class _Dom2> std::_Expr<std::__detail::_BinClos<std::__minus, std::_Expr, std::_Expr, _Dom1, _Dom2>, typename std::__fun<std::__minus, typename _Dom1::value_type>::result_type> std::operator-(const _Expr<_Dom1, typename _Dom1::value_type>&, const _Expr<_Dom2, typename _Dom2::value_type>&)'
  406 |     _DEFINE_EXPR_BINARY_OPERATOR(-, struct std::__minus)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/14/bits/valarray_after.h:406:5: note:   template argument deduction/substitution failed:
a.cc:47:31: note:   'std::set<long long int>::iterator' {aka 'std::_Rb_tree<long long int, long long int, std::_Identity<long long int>, std::less<long long int>, std::allocator<long long int> >::const_iterator'} is not derived from 'const std::_Expr<_Dom1, typename _Dom1::value_type>'
   47 |         for(ll j = it-d.begin();j<it2-d.begin();j++){
      |                               ^
/usr/include/c++/14/bits/valarray_after.h:406:5: note: candidate: 'template<class _Dom> std::_Expr<std::__detail::_BinClos<std::__minus, std::_Expr, std::_Constant, _Dom, typename _Dom::value_type>, typename std::__fun<std::__minus, typename _Dom1::value_type>::result_type> std::operator-(const _Expr<_Dom1, typename _Dom1::value_type>&, const typename _Dom::value_type&)'
  406 |     _DEFINE_EXPR_BINARY_OPERATOR(-, struct std::__minus)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/14/bits/valarray_after.h:406:5: note:   template argument deduction/substitution failed:
a.cc:47:31: note:   'std::set<long long int>::iterator' {aka 'std::_Rb_tree<long long int, long long int, std::_Identity<long long int>, std::less<long long int>, std::allocator<long long int> >::const_iterator'} is not derived from 'const std::_Expr<_Dom1, typename _Dom1::value_type>'
   47 |         for(ll j = it-d.begin();j<it2-d.begin();j++){
      |                               ^
/usr/include/c++/14/bits/valarray_after.h:406:5: note: candidate: 'template<class _Dom> std::_Expr<std::__detail::_BinClos<std::__minus, std::_Constant, std::_Expr, typename _Dom::value_type, _Dom>, typename std::__fun<std::__minus, typename _Dom1::value_type>::result_type> std::operator-(const typename _Dom::value_type&, const _Expr<_Dom1, typename _Dom1::value_type>&)'
  406 |     _DEFINE_EXPR_BINARY_OPERATOR(-, struct std::__minus)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/14/bits/valarray_after.h:406:5: note:   template argument deduction/substitution failed:
a.cc:47:31: note:   'std::set<long long int>::iterator' {aka 'std::_Rb_tree<long long int, long long int, std::_Identity<long long int>, std::less<long long int>, std::allocator<long long int> >::const_iterator'} is not derived from 'const std::_Expr<_Dom1, typename _Dom1::value_type>'
   47 |         for(ll j = it-d.begin();j<it2-d.begin();j++){
      |                               ^
/usr/include/c++/14/bits/valarray_after.h:406:5: note: candidate: 'template<class _Dom> std::_Expr<std::__detail::_BinClos<std::__minus, std::_Expr, std::_ValArray, _Dom, typename _Dom::value_type>, typename std::__fun<std::__minus, typename _Dom1::value_type>::result_type> std::operator-(const _Expr