Submission #1181258

#TimeUsernameProblemLanguageResultExecution timeMemory
1181258KhoaDuyTrain (APIO24_train)C++17
Compilation error
0 ms0 KiB
#include "train.h" #include<bits/stdc++.h> //WORST PROBLEM EVER JKJLSDGKLJDGLKJHGHLFJD using namespace std; struct T{ long long le=-1,ri=-1; long long sum=0; }; T TT(T le,T ri){ T pa; pa.sum=le.sum+ri.sum; return pa; } T Tid; vector<T> seg; long long init(long long le,long long ri){ long long v=seg.size(); seg.push_back(Tid); if(le==-1){ seg[v].sum=ri; } else{ seg[v]=TT(seg[le],seg[ri]); seg[v].le=le,seg[v].ri=ri; } return v; } long long build(long long TL,long long TR){ if(TL==TR){ return init(-1,0); } long long TM=((TL+TR)>>1); return init(build(TL,TM),build(TM+1,TR)); } long long update(long long v,long long TL,long long TR,long long i){ if(TL==TR){ return init(-1,seg[v].sum+1); } long long TM=((TL+TR)>>1); if(i<=TM){ return init(update(seg[v].le,TL,TM,i),seg[v].ri); } return init(seg[v].le,update(seg[v].ri,TM+1,TR,i)); } T query(long long v,long long TL,long long TR,long long l,long long r){ if(l>TR||r<TL){ return Tid; } if(l<=TL&&TR<=r){ return seg[v]; } long long TM=((TL+TR)>>1); return TT(query(seg[v].le,TL,TM,l,r),query(seg[v].ri,TM+1,TR,l,r)); } long long walk(long long vl,long long vr,long long TL,long long TR,long long k){ if(TL==TR){ return TL; } long long TM=((TL+TR)>>1); if(seg[seg[vr].le].sum-seg[seg[vl].le].sum>=k){ return walk(seg[vl].le,seg[vr].le,TL,TM,k); } return walk(seg[vl].ri,seg[vr].ri,TM+1,TR,k-(seg[seg[vr].le].sum-seg[seg[vl].le].sum)); } struct event{ long long cmp,idxu,idxq; }; bool cmp(event &a,event &b){ if(a.cmp!=b.cmp){ return (a.cmp<b.cmp); } if(a.idxu!=b.idxu){ return (a.idxu<b.idxu); } return (a.idxq<b.idxq); } long long solve(int _n,int _m,int _w,vector<int> _t,vector<int> _x,vector<int> _y,vector<int> _a,vector<int> _b,vector<int> _c,vector<int> _l,vector<int> _r){ long long n=_n,m=_m,w=_w; vector<long long> t=_t,x=_x,y=_y,a=_a,b=_b,c=_c,l=_l,r=_r; if(m==0){ return -1; } bool app[m]={false}; vector<long long> root(w+1); vector<long long> val(w); vector<event> que; for(long long i=0;i<m;i++){ que.push_back({a[i],-1,i}); que.push_back({b[i],-2,i}); } for(long long i=0;i<w;i++){ que.push_back({r[i],i,-1}); } sort(que.begin(),que.end(),cmp); for(long long i=0;i<que.size();i++){ if(que[i].idxu>=0){ val[que[i].idxu]=i; } } vector<pair<long long,long long>> order(w+1); order[0]={-1,-1}; for(long long i=0;i<w;i++){ order[i+1]={l[i],i}; } sort(order.begin(),order.end()); root[0]=build(0,que.size()-1); for(long long i=1;i<=w;i++){ root[i]=update(root[i-1],0,que.size()-1,val[order[i].second]); } long long DP[m+1]; memset(DP,-1,sizeof(DP)); DP[m]=0; vector<set<pair<long long,long long>>> se(n); se[0].insert({-1,m}); bool del[m+1]={false}; vector<vector<pair<long long,long long>>> group(que.size()); x.push_back(0); y.push_back(0); a.push_back(-1); b.push_back(-1); c.push_back(0); long long ans=-1; bool trace=false; for(long long i=0;i<que.size();i++){ for(pair<long long,long long> &x:group[i]){ if(!del[x.first]&&!del[x.second]){ long long u=y[x.first]; long long idx=x.first; while(true){ del[idx]=true; set<pair<long long,long long>>::iterator it,itr; it=se[u].find({b[idx],idx}); itr=it,itr++; idx=(*itr).second; se[u].erase(it); itr=se[u].find({b[idx],idx}); if(itr==se[u].begin()){ break; } it=itr,it--; idx=(*it).second; long long idx2=(*itr).second; long long cnt=(DP[idx2]-DP[idx]+t[u]-1)/t[u]; long long le=lower_bound(order.begin(),order.end(),make_pair(b[idx]+1,-1))-order.begin()-1; long long ri=upper_bound(order.begin(),order.end(),make_pair(b[idx2],(long long)que.size()+1))-order.begin()-1; if(seg[root[ri]].sum-seg[root[le]].sum<cnt){ break; } if(DP[idx2]>=DP[idx]){ continue; } long long tim=walk(root[le],root[ri],0,que.size()-1,cnt); if(tim<=i){ continue; } group[tim].push_back({idx,idx2}); break; } } } if(que[i].idxq!=-1){ if(!app[que[i].idxq]){ app[que[i].idxq]=true; long long idx,idx2=que[i].idxq; if(se[x[idx2]].empty()){ continue; } idx=(*se[x[idx2]].begin()).second; long long le=lower_bound(order.begin(),order.end(),make_pair(b[idx]+1,-1))-order.begin()-1; long long ri=upper_bound(order.begin(),order.end(),make_pair(a[idx2]-1,(long long)que.size()+1))-order.begin()-1; DP[idx2]=DP[idx]+c[idx2]+1LL*t[x[idx2]]*max(0,query(root[ri],0,que.size()-1,0,i).sum-query(root[le],0,que.size()-1,0,i).sum); if(y[idx2]==n-1){ long long need=upper_bound(order.begin(),order.end(),make_pair(b[idx2],(long long)que.size()+1))-order.begin(); need=order.size()-need; if(trace){ ans=min(ans,DP[idx2]+1LL*need*t[y[idx2]]); } else{ ans=DP[idx2]+1LL*need*t[y[idx2]]; } trace=true; } } else{ long long idx2=que[i].idxq,idx; if(DP[idx2]==-1){ continue; } long long u=y[idx2]; se[u].insert({b[idx2],idx2}); set<pair<long long,long long>>::iterator it,itr; itr=se[u].find({b[idx2],idx2}); if(itr==se[u].begin()){ continue; } it=itr,it--; idx=(*it).second; idx2=(*itr).second; long long cnt=(DP[idx2]-DP[idx]+t[u]-1)/t[u]; long long le=lower_bound(order.begin(),order.end(),make_pair(b[idx]+1,-1))-order.begin()-1; long long ri=upper_bound(order.begin(),order.end(),make_pair(b[idx2],(long long)que.size()+1))-order.begin()-1; bool flag=false; if(seg[root[ri]].sum-seg[root[le]].sum<cnt){ continue; } if(DP[idx2]>=DP[idx]){ flag=true; } else{ long long tim=walk(root[le],root[ri],0,que.size()-1,cnt); if(tim<=i){ flag=true; } else{ group[tim].push_back({idx,idx2}); } } if(flag){ while(true){ del[idx]=true; set<pair<long long,long long>>::iterator it,itr; it=se[u].find({b[idx],idx}); itr=it,itr++; idx=(*itr).second; se[u].erase(it); itr=se[u].find({b[idx],idx}); if(itr==se[u].begin()){ break; } it=itr,it--; idx=(*it).second; long long idx2=(*itr).second; long long cnt=(DP[idx2]-DP[idx]+t[u]-1)/t[u]; long long le=lower_bound(order.begin(),order.end(),make_pair(b[idx]+1,-1))-order.begin()-1; long long ri=upper_bound(order.begin(),order.end(),make_pair(b[idx2],(long long)que.size()+1))-order.begin()-1; if(seg[root[ri]].sum-seg[root[le]].sum<cnt){ break; } if(DP[idx2]>=DP[idx]){ continue; } long long tim=walk(root[le],root[ri],0,que.size()-1,cnt); if(tim<=i){ continue; } group[tim].push_back({idx,idx2}); break; } } } } } if(!trace){ return -1; } return ans; } /*signed main() { int N, M, W; assert(3 == scanf("%d %d %d", &N, &M, &W)); std::vector<int> t(N); std::vector<int> x(M); std::vector<int> y(M); std::vector<int> a(M); std::vector<int> b(M); std::vector<int> c(M); std::vector<int> l(W); std::vector<int> r(W); for (int i = 0; i < N; i++) assert(1 == scanf("%d", &t[i])); for (int i = 0; i < M; i++) assert(5 == scanf("%d %d %d %d %d", &x[i], &y[i], &a[i], &b[i], &c[i])); for (int i = 0; i < W; i++) assert(2 == scanf("%d %d", &l[i], &r[i])); printf("%lld", solve(N, M, W, t, x, y, a, b, c, l, r)); }*/

Compilation message (stderr)

train.cpp: In function 'long long int solve(int, int, int, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)':
train.cpp:79:25: error: conversion from 'vector<int>' to non-scalar type 'vector<long long int>' requested
   79 |     vector<long long> t=_t,x=_x,y=_y,a=_a,b=_b,c=_c,l=_l,r=_r;
      |                         ^~
train.cpp:79:30: error: conversion from 'vector<int>' to non-scalar type 'vector<long long int>' requested
   79 |     vector<long long> t=_t,x=_x,y=_y,a=_a,b=_b,c=_c,l=_l,r=_r;
      |                              ^~
train.cpp:79:35: error: conversion from 'vector<int>' to non-scalar type 'vector<long long int>' requested
   79 |     vector<long long> t=_t,x=_x,y=_y,a=_a,b=_b,c=_c,l=_l,r=_r;
      |                                   ^~
train.cpp:79:40: error: conversion from 'vector<int>' to non-scalar type 'vector<long long int>' requested
   79 |     vector<long long> t=_t,x=_x,y=_y,a=_a,b=_b,c=_c,l=_l,r=_r;
      |                                        ^~
train.cpp:79:45: error: conversion from 'vector<int>' to non-scalar type 'vector<long long int>' requested
   79 |     vector<long long> t=_t,x=_x,y=_y,a=_a,b=_b,c=_c,l=_l,r=_r;
      |                                             ^~
train.cpp:79:50: error: conversion from 'vector<int>' to non-scalar type 'vector<long long int>' requested
   79 |     vector<long long> t=_t,x=_x,y=_y,a=_a,b=_b,c=_c,l=_l,r=_r;
      |                                                  ^~
train.cpp:79:55: error: conversion from 'vector<int>' to non-scalar type 'vector<long long int>' requested
   79 |     vector<long long> t=_t,x=_x,y=_y,a=_a,b=_b,c=_c,l=_l,r=_r;
      |                                                       ^~
train.cpp:79:60: error: conversion from 'vector<int>' to non-scalar type 'vector<long long int>' requested
   79 |     vector<long long> t=_t,x=_x,y=_y,a=_a,b=_b,c=_c,l=_l,r=_r;
      |                                                            ^~
train.cpp:171:60: error: no matching function for call to 'max(int, long long int)'
  171 |                 DP[idx2]=DP[idx]+c[idx2]+1LL*t[x[idx2]]*max(0,query(root[ri],0,que.size()-1,0,i).sum-query(root[le],0,que.size()-1,0,i).sum);
      |                                                         ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/stl_algobase.h:254:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
  254 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/11/bits/stl_algobase.h:254:5: note:   template argument deduction/substitution failed:
train.cpp:171:60: note:   deduced conflicting types for parameter 'const _Tp' ('int' and 'long long int')
  171 |                 DP[idx2]=DP[idx]+c[idx2]+1LL*t[x[idx2]]*max(0,query(root[ri],0,que.size()-1,0,i).sum-query(root[le],0,que.size()-1,0,i).sum);
      |                                                         ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/stl_algobase.h:300:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
  300 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/11/bits/stl_algobase.h:300:5: note:   template argument deduction/substitution failed:
train.cpp:171:60: note:   deduced conflicting types for parameter 'const _Tp' ('int' and 'long long int')
  171 |                 DP[idx2]=DP[idx]+c[idx2]+1LL*t[x[idx2]]*max(0,query(root[ri],0,que.size()-1,0,i).sum-query(root[le],0,que.size()-1,0,i).sum);
      |                                                         ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65,
                 from train.cpp:2:
/usr/include/c++/11/bits/stl_algo.h:3461:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(std::initializer_list<_Tp>)'
 3461 |     max(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/11/bits/stl_algo.h:3461:5: note:   template argument deduction/substitution failed:
train.cpp:171:60: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
  171 |                 DP[idx2]=DP[idx]+c[idx2]+1LL*t[x[idx2]]*max(0,query(root[ri],0,que.size()-1,0,i).sum-query(root[le],0,que.size()-1,0,i).sum);
      |                                                         ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65,
                 from train.cpp:2:
/usr/include/c++/11/bits/stl_algo.h:3467:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)'
 3467 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/11/bits/stl_algo.h:3467:5: note:   template argument deduction/substitution failed:
train.cpp:171:60: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
  171 |                 DP[idx2]=DP[idx]+c[idx2]+1LL*t[x[idx2]]*max(0,query(root[ri],0,que.size()-1,0,i).sum-query(root[le],0,que.size()-1,0,i).sum);
      |                                                         ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h: In instantiation of 'bool __gnu_cxx::__ops::_Iter_less_val::operator()(_Iterator, _Value&) const [with _Iterator = __gnu_cxx::__normal_iterator<std::pair<long long int, long long int>*, std::vector<std::pair<long long int, long long int> > >; _Value = const std::pair<long long int, int>]':
/usr/include/c++/11/bits/stl_algobase.h:1464:14:   required from '_ForwardIterator std::__lower_bound(_ForwardIterator, _ForwardIterator, const _Tp&, _Compare) [with _ForwardIterator = __gnu_cxx::__normal_iterator<std::pair<long long int, long long int>*, std::vector<std::pair<long long int, long long int> > >; _Tp = std::pair<long long int, int>; _Compare = __gnu_cxx::__ops::_Iter_less_val]'
/usr/include/c++/11/bits/stl_algobase.h:1499:32:   required from '_ForwardIterator std::lower_bound(_ForwardIterator, _ForwardIterator, const _Tp&) [with _ForwardIterator = __gnu_cxx::__normal_iterator<std::pair<long long int, long long int>*, std::vector<std::pair<long long int, long long int> > >; _Tp = std::pair<long long int, int>]'
train.cpp:144:45:   required from here
/usr/include/c++/11/bits/predefined_ops.h:69:22: error: no match for 'operator<' (operand types are 'std::pair<long long int, long long int>' and 'const std::pair<long long int, int>')
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/bits/stl_algobase.h:67,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/stl_iterator.h:1187:5: note: candidate: 'template<class _IteratorL, class _IteratorR, class _Container> bool __gnu_cxx::operator<(const __gnu_cxx::__normal_iterator<_IteratorL, _Container>&, const __gnu_cxx::__normal_iterator<_IteratorR, _Container>&)'
 1187 |     operator<(const __normal_iterator<_IteratorL, _Container>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/11/bits/stl_iterator.h:1187:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   'std::pair<long long int, long long int>' is not derived from 'const __gnu_cxx::__normal_iterator<_IteratorL, _Container>'
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/bits/stl_algobase.h:67,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/stl_iterator.h:1195:5: note: candidate: 'template<class _Iterator, class _Container> bool __gnu_cxx::operator<(const __gnu_cxx::__normal_iterator<_Iterator, _Container>&, const __gnu_cxx::__normal_iterator<_Iterator, _Container>&)'
 1195 |     operator<(const __normal_iterator<_Iterator, _Container>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/11/bits/stl_iterator.h:1195:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   'std::pair<long long int, long long int>' is not derived from 'const __gnu_cxx::__normal_iterator<_Iterator, _Container>'
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/regex:63,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:110,
                 from train.cpp:2:
/usr/include/c++/11/bits/regex.h:1099:5: note: candidate: 'template<class _BiIter> bool std::__cxx11::operator<(const std::__cxx11::sub_match<_BiIter>&, const std::__cxx11::sub_match<_BiIter>&)'
 1099 |     operator<(const sub_match<_BiIter>& __lhs, const sub_match<_BiIter>& __rhs)
      |     ^~~~~~~~
/usr/include/c++/11/bits/regex.h:1099:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   'std::pair<long long int, long long int>' is not derived from 'const std::__cxx11::sub_match<_BiIter>'
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/regex:63,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:110,
                 from train.cpp:2:
/usr/include/c++/11/bits/regex.h:1180:5: note: candidate: 'template<class _Bi_iter, class _Ch_traits, class _Ch_alloc> bool std::__cxx11::operator<(std::__cxx11::__sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>&, const std::__cxx11::sub_match<_BiIter>&)'
 1180 |     operator<(const __sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/11/bits/regex.h:1180:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   'std::pair<long long int, long long int>' is not derived from 'std::__cxx11::__sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>'
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/regex:63,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:110,
                 from train.cpp:2:
/usr/include/c++/11/bits/regex.h:1273:5: note: candidate: 'template<class _Bi_iter, class _Ch_traits, class _Ch_alloc> bool std::__cxx11::operator<(const std::__cxx11::sub_match<_BiIter>&, std::__cxx11::__sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>&)'
 1273 |     operator<(const sub_match<_Bi_iter>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/11/bits/regex.h:1273:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   'std::pair<long long int, long long int>' is not derived from 'const std::__cxx11::sub_match<_BiIter>'
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/regex:63,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:110,
                 from train.cpp:2:
/usr/include/c++/11/bits/regex.h:1347:5: note: candidate: 'template<class _Bi_iter> bool std::__cxx11::operator<(const typename std::iterator_traits<_Iter>::value_type*, const std::__cxx11::sub_match<_BiIter>&)'
 1347 |     operator<(typename iterator_traits<_Bi_iter>::value_type const* __lhs,
      |     ^~~~~~~~
/usr/include/c++/11/bits/regex.h:1347:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   'const std::pair<long long int, int>' is not derived from 'const std::__cxx11::sub_match<_BiIter>'
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/regex:63,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:110,
                 from train.cpp:2:
/usr/include/c++/11/bits/regex.h:1441:5: note: candidate: 'template<class _Bi_iter> bool std::__cxx11::operator<(const std::__cxx11::sub_match<_BiIter>&, const typename std::iterator_traits<_Iter>::value_type*)'
 1441 |     operator<(const sub_match<_Bi_iter>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/11/bits/regex.h:1441:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   'std::pair<long long int, long long int>' is not derived from 'const std::__cxx11::sub_match<_BiIter>'
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/regex:63,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:110,
                 from train.cpp:2:
/usr/include/c++/11/bits/regex.h:1516:5: note: candidate: 'template<class _Bi_iter> bool std::__cxx11::operator<(const typename std::iterator_traits<_Iter>::value_type&, const std::__cxx11::sub_match<_BiIter>&)'
 1516 |     operator<(typename iterator_traits<_Bi_iter>::value_type const& __lhs,
      |     ^~~~~~~~
/usr/include/c++/11/bits/regex.h:1516:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   'const std::pair<long long int, int>' is not derived from 'const std::__cxx11::sub_match<_BiIter>'
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/regex:63,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:110,
                 from train.cpp:2:
/usr/include/c++/11/bits/regex.h:1616:5: note: candidate: 'template<class _Bi_iter> bool std::__cxx11::operator<(const std::__cxx11::sub_match<_BiIter>&, const typename std::iterator_traits<_Iter>::value_type&)'
 1616 |     operator<(const sub_match<_Bi_iter>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/11/bits/regex.h:1616:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   'std::pair<long long int, long long int>' is not derived from 'const std::__cxx11::sub_match<_BiIter>'
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/bits/stl_algobase.h:64,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/stl_pair.h:489:5: note: candidate: 'template<class _T1, class _T2> constexpr bool std::operator<(const std::pair<_T1, _T2>&, const std::pair<_T1, _T2>&)'
  489 |     operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
      |     ^~~~~~~~
/usr/include/c++/11/bits/stl_pair.h:489:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   deduced conflicting types for parameter '_T2' ('long long int' and 'int')
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/bits/stl_algobase.h:67,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/stl_iterator.h:426:5: note: candidate: 'template<class _Iterator> constexpr bool std::operator<(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_Iterator>&)'
  426 |     operator<(const reverse_iterator<_Iterator>& __x,
      |     ^~~~~~~~
/usr/include/c++/11/bits/stl_iterator.h:426:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   'std::pair<long long int, long long int>' is not derived from 'const std::reverse_iterator<_Iterator>'
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/bits/stl_algobase.h:67,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/stl_iterator.h:465:5: note: candidate: 'template<class _IteratorL, class _IteratorR> constexpr bool std::operator<(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_IteratorR>&)'
  465 |     operator<(const reverse_iterator<_IteratorL>& __x,
      |     ^~~~~~~~
/usr/include/c++/11/bits/stl_iterator.h:465:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   'std::pair<long long int, long long int>' is not derived from 'const std::reverse_iterator<_Iterator>'
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/bits/stl_algobase.h:67,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/stl_iterator.h:1609:5: note: candidate: 'template<class _IteratorL, class _IteratorR> constexpr bool std::operator<(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorR>&)'
 1609 |     operator<(const move_iterator<_IteratorL>& __x,
      |     ^~~~~~~~
/usr/include/c++/11/bits/stl_iterator.h:1609:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   'std::pair<long long int, long long int>' is not derived from 'const std::move_iterator<_IteratorL>'
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/bits/stl_algobase.h:67,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/stl_iterator.h:1667:5: note: candidate: 'template<class _Iterator> constexpr bool std::operator<(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorL>&)'
 1667 |     operator<(const move_iterator<_Iterator>& __x,
      |     ^~~~~~~~
/usr/include/c++/11/bits/stl_iterator.h:1667:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   'std::pair<long long int, long long int>' is not derived from 'const std::move_iterator<_IteratorL>'
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/vector:67,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/stl_vector.h:1930:5: note: candidate: 'template<class _Tp, class _Alloc> bool std::operator<(const std::vector<_Tp, _Alloc>&, const std::vector<_Tp, _Alloc>&)'
 1930 |     operator<(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
      |     ^~~~~~~~
/usr/include/c++/11/bits/stl_vector.h:1930:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   'std::pair<long long int, long long int>' is not derived from 'const std::vector<_Tp, _Alloc>'
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/bits/basic_string.h:48,
                 from /usr/include/c++/11/string:55,
                 from /usr/include/c++/11/bits/locale_classes.h:40,
                 from /usr/include/c++/11/bits/ios_base.h:41,
                 from /usr/include/c++/11/ios:42,
                 from /usr/include/c++/11/istream:38,
                 from /usr/include/c++/11/sstream:38,
                 from /usr/include/c++/11/complex:45,
                 from /usr/include/c++/11/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54,
                 from train.cpp:2:
/usr/include/c++/11/string_view:589:5: note: candidate: 'template<class _CharT, class _Traits> constexpr bool std::operator<(std::basic_string_view<_CharT, _Traits>, std::basic_string_view<_CharT, _Traits>)'
  589 |     operator< (basic_string_view<_CharT, _Traits> __x,
      |     ^~~~~~~~
/usr/include/c++/11/string_view:589:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   'std::pair<long long int, long long int>' is not derived from 'std::basic_string_view<_CharT, _Traits>'
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/bits/basic_string.h:48,
                 from /usr/include/c++/11/string:55,
                 from /usr/include/c++/11/bits/locale_classes.h:40,
                 from /usr/include/c++/11/bits/ios_base.h:41,
                 from /usr/include/c++/11/ios:42,
                 from /usr/include/c++/11/istream:38,
                 from /usr/include/c++/11/sstream:38,
                 from /usr/include/c++/11/complex:45,
                 from /usr/include/c++/11/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54,
                 from train.cpp:2:
/usr/include/c++/11/string_view:595:5: note: candidate: 'template<class _CharT, class _Traits> constexpr bool std::operator<(std::basic_string_view<_CharT, _Traits>, std::__type_identity_t<std::basic_string_view<_CharT, _Traits> >)'
  595 |     operator< (basic_string_view<_CharT, _Traits> __x,
      |     ^~~~~~~~
/usr/include/c++/11/string_view:595:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   'std::pair<long long int, long long int>' is not derived from 'std::basic_string_view<_CharT, _Traits>'
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/bits/basic_string.h:48,
                 from /usr/include/c++/11/string:55,
                 from /usr/include/c++/11/bits/locale_classes.h:40,
                 from /usr/include/c++/11/bits/ios_base.h:41,
                 from /usr/include/c++/11/ios:42,
                 from /usr/include/c++/11/istream:38,
                 from /usr/include/c++/11/sstream:38,
                 from /usr/include/c++/11/complex:45,
                 from /usr/include/c++/11/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54,
                 from train.cpp:2:
/usr/include/c++/11/string_view:602:5: note: candidate: 'template<class _CharT, class _Traits> constexpr bool std::operator<(std::__type_identity_t<std::basic_string_view<_CharT, _Traits> >, std::basic_string_view<_CharT, _Traits>)'
  602 |     operator< (__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
      |     ^~~~~~~~
/usr/include/c++/11/string_view:602:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   'std::pair<long long int, int>' is not derived from 'std::basic_string_view<_CharT, _Traits>'
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/string:55,
                 from /usr/include/c++/11/bits/locale_classes.h:40,
                 from /usr/include/c++/11/bits/ios_base.h:41,
                 from /usr/include/c++/11/ios:42,
                 from /usr/include/c++/11/istream:38,
                 from /usr/include/c++/11/sstream:38,
                 from /usr/include/c++/11/complex:45,
                 from /usr/include/c++/11/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54,
                 from train.cpp:2:
/usr/include/c++/11/bits/basic_string.h:6340:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> bool std::operator<(const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&, const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&)'
 6340 |     operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/11/bits/basic_string.h:6340:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   'std::pair<long long int, long long int>' is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>'
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/string:55,
                 from /usr/include/c++/11/bits/locale_classes.h:40,
                 from /usr/include/c++/11/bits/ios_base.h:41,
                 from /usr/include/c++/11/ios:42,
                 from /usr/include/c++/11/istream:38,
                 from /usr/include/c++/11/sstream:38,
                 from /usr/include/c++/11/complex:45,
                 from /usr/include/c++/11/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54,
                 from train.cpp:2:
/usr/include/c++/11/bits/basic_string.h:6353:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> bool std::operator<(const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&, const _CharT*)'
 6353 |     operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/11/bits/basic_string.h:6353:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   'std::pair<long long int, long long int>' is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>'
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/string:55,
                 from /usr/include/c++/11/bits/locale_classes.h:40,
                 from /usr/include/c++/11/bits/ios_base.h:41,
                 from /usr/include/c++/11/ios:42,
                 from /usr/include/c++/11/istream:38,
                 from /usr/include/c++/11/sstream:38,
                 from /usr/include/c++/11/complex:45,
                 from /usr/include/c++/11/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54,
                 from train.cpp:2:
/usr/include/c++/11/bits/basic_string.h:6365:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> bool std::operator<(const _CharT*, const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&)'
 6365 |     operator<(const _CharT* __lhs,
      |     ^~~~~~~~
/usr/include/c++/11/bits/basic_string.h:6365:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   mismatched types 'const _CharT*' and 'std::pair<long long int, long long int>'
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/tuple:39,
                 from /usr/include/c++/11/functional:54,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65,
                 from train.cpp:2:
/usr/include/c++/11/array:311:5: note: candidate: 'template<class _Tp, long unsigned int _Nm> bool std::operator<(const std::array<_Tp, _Nm>&, const std::array<_Tp, _Nm>&)'
  311 |     operator<(const array<_Tp, _Nm>& __a, const array<_Tp, _Nm>& __b)
      |     ^~~~~~~~
/usr/include/c++/11/array:311:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   'std::pair<long long int, long long int>' is not derived from 'const std::array<_Tp, _Nm>'
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/functional:54,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65,
                 from train.cpp:2:
/usr/include/c++/11/tuple:1566:5: note: candidate: 'template<class ... _TElements, class ... _UElements> constexpr bool std::operator<(const std::tuple<_Tps ...>&, const std::tuple<_UTypes ...>&)'
 1566 |     operator<(const tuple<_TElements...>& __t,
      |     ^~~~~~~~
/usr/include/c++/11/tuple:1566:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   'std::pair<long long int, long long int>' is not derived from 'const std::tuple<_Tps ...>'
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/deque:67,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:68,
                 from train.cpp:2:
/usr/include/c++/11/bits/stl_deque.h:2285:5: note: candidate: 'template<class _Tp, class _Alloc> bool std::operator<(const std::deque<_Tp, _Alloc>&, const std::deque<_Tp, _Alloc>&)'
 2285 |     operator<(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y)
      |     ^~~~~~~~
/usr/include/c++/11/bits/stl_deque.h:2285:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   'std::pair<long long int, long long int>' is not derived from 'const std::deque<_Tp, _Alloc>'
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/bits/locale_conv.h:41,
                 from /usr/include/c++/11/locale:43,
                 from /usr/include/c++/11/iomanip:43,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:72,
                 from train.cpp:2:
/usr/include/c++/11/bits/unique_ptr.h:795:5: note: candidate: 'template<class _Tp, class _Dp, class _Up, class _Ep> bool std::operator<(const std::unique_ptr<_Tp, _Dp>&, const std::unique_ptr<_Up, _Ep>&)'
  795 |     operator<(const unique_ptr<_Tp, _Dp>& __x,
      |     ^~~~~~~~
/usr/include/c++/11/bits/unique_ptr.h:795:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   'std::pair<long long int, long long int>' is not derived from 'const std::unique_ptr<_Tp, _Dp>'
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/bits/locale_conv.h:41,
                 from /usr/include/c++/11/locale:43,
                 from /usr/include/c++/11/iomanip:43,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:72,
                 from train.cpp:2:
/usr/include/c++/11/bits/unique_ptr.h:807:5: note: candidate: 'template<class _Tp, class _Dp> bool std::operator<(const std::unique_ptr<_Tp, _Dp>&, std::nullptr_t)'
  807 |     operator<(const unique_ptr<_Tp, _Dp>& __x, nullptr_t)
      |     ^~~~~~~~
/usr/include/c++/11/bits/unique_ptr.h:807:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   'std::pair<long long int, long long int>' is not derived from 'const std::unique_ptr<_Tp, _Dp>'
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/bits/locale_conv.h:41,
                 from /usr/include/c++/11/locale:43,
                 from /usr/include/c++/11/iomanip:43,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:72,
                 from train.cpp:2:
/usr/include/c++/11/bits/unique_ptr.h:816:5: note: candidate: 'template<class _Tp, class _Dp> bool std::operator<(std::nullptr_t, const std::unique_ptr<_Tp, _Dp>&)'
  816 |     operator<(nullptr_t, const unique_ptr<_Tp, _Dp>& __x)
      |     ^~~~~~~~
/usr/include/c++/11/bits/unique_ptr.h:816:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   'const std::pair<long long int, int>' is not derived from 'const std::unique_ptr<_Tp, _Dp>'
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/list:63,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:79,
                 from train.cpp:2:
/usr/include/c++/11/bits/stl_list.h:2085:5: note: candidate: 'template<class _Tp, class _Alloc> bool std::operator<(const std::__cxx11::list<_Tp, _Alloc>&, const std::__cxx11::list<_Tp, _Alloc>&)'
 2085 |     operator<(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
      |     ^~~~~~~~
/usr/include/c++/11/bits/stl_list.h:2085:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   'std::pair<long long int, long long int>' is not derived from 'const std::__cxx11::list<_Tp, _Alloc>'
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/map:61,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:81,
                 from train.cpp:2:
/usr/include/c++/11/bits/stl_map.h:1501:5: note: candidate: 'template<class _Key, class _Tp, class _Compare, class _Alloc> bool std::operator<(const std::map<_Key, _Tp, _Compare, _Allocator>&, const std::map<_Key, _Tp, _Compare, _Allocator>&)'
 1501 |     operator<(const map<_Key, _Tp, _Compare, _Alloc>& __x,
      |     ^~~~~~~~
/usr/include/c++/11/bits/stl_map.h:1501:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   'std::pair<long long int, long long int>' is not derived from 'const std::map<_Key, _Tp, _Compare, _Allocator>'
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/map:62,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:81,
                 from train.cpp:2:
/usr/include/c++/11/bits/stl_multimap.h:1166:5: note: candidate: 'template<class _Key, class _Tp, class _Compare, class _Alloc> bool std::operator<(const std::multimap<_Key, _Tp, _Compare, _Allocator>&, const std::multimap<_Key, _Tp, _Compare, _Allocator>&)'
 1166 |     operator<(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
      |     ^~~~~~~~
/usr/include/c++/11/bits/stl_multimap.h:1166:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   'std::pair<long long int, long long int>' is not derived from 'const std::multimap<_Key, _Tp, _Compare, _Allocator>'
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/bits/shared_ptr.h:53,
                 from /usr/include/c++/11/memory:77,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:82,
                 from train.cpp:2:
/usr/include/c++/11/bits/shared_ptr_base.h:1457:5: note: candidate: 'template<class _Tp, class _Up, __gnu_cxx::_Lock_policy _Lp> bool std::operator<(const std::__shared_ptr<_Tp1, _Lp>&, const std::__shared_ptr<_Tp2, _Lp>&)'
 1457 |     operator<(const __shared_ptr<_Tp, _Lp>& __a,
      |     ^~~~~~~~
/usr/include/c++/11/bits/shared_ptr_base.h:1457:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   'std::pair<long long int, long long int>' is not derived from 'const std::__shared_ptr<_Tp1, _Lp>'
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/bits/shared_ptr.h:53,
                 from /usr/include/c++/11/memory:77,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:82,
                 from train.cpp:2:
/usr/include/c++/11/bits/shared_ptr_base.h:1468:5: note: candidate: 'template<class _Tp, __gnu_cxx::_Lock_policy _Lp> bool std::operator<(const std::__shared_ptr<_Tp, _Lp>&, std::nullptr_t)'
 1468 |     operator<(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
      |     ^~~~~~~~
/usr/include/c++/11/bits/shared_ptr_base.h:1468:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   'std::pair<long long int, long long int>' is not derived from 'const std::__shared_ptr<_Tp, _Lp>'
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/bits/shared_ptr.h:53,
                 from /usr/include/c++/11/memory:77,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:82,
                 from train.cpp:2:
/usr/include/c++/11/bits/shared_ptr_base.h:1476:5: note: candidate: 'template<class _Tp, __gnu_cxx::_Lock_policy _Lp> bool std::operator<(std::nullptr_t, const std::__shared_ptr<_Tp, _Lp>&)'
 1476 |     operator<(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
      |     ^~~~~~~~
/usr/include/c++/11/bits/shared_ptr_base.h:1476:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   'const std::pair<long long int, int>' is not derived from 'const std::__shared_ptr<_Tp, _Lp>'
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/memory:77,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:82,
                 from train.cpp:2:
/usr/include/c++/11/bits/shared_ptr.h:488:5: note: candidate: 'template<class _Tp, class _Up> bool std::operator<(const std::shared_ptr<_Tp>&, const std::shared_ptr<_Tp>&)'
  488 |     operator<(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
      |     ^~~~~~~~
/usr/include/c++/11/bits/shared_ptr.h:488:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   'std::pair<long long int, long long int>' is not derived from 'const std::shared_ptr<_Tp>'
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/memory:77,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:82,
                 from train.cpp:2:
/usr/include/c++/11/bits/shared_ptr.h:499:5: note: candidate: 'template<class _Tp> bool std::operator<(const std::shared_ptr<_Tp>&, std::nullptr_t)'
  499 |     operator<(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
      |     ^~~~~~~~
/usr/include/c++/11/bits/shared_ptr.h:499:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   'std::pair<long long int, long long int>' is not derived from 'const std::shared_ptr<_Tp>'
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/memory:77,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:82,
                 from train.cpp:2:
/usr/include/c++/11/bits/shared_ptr.h:508:5: note: candidate: 'template<class _Tp> bool std::operator<(std::nullptr_t, const std::shared_ptr<_Tp>&)'
  508 |     operator<(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
      |     ^~~~~~~~
/usr/include/c++/11/bits/shared_ptr.h:508:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   'const std::pair<long long int, int>' is not derived from 'const std::shared_ptr<_Tp>'
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/queue:64,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:86,
                 from train.cpp:2:
/usr/include/c++/11/bits/stl_queue.h:362:5: note: candidate: 'template<class _Tp, class _Seq> bool std::operator<(const std::queue<_Tp, _Seq>&, const std::queue<_Tp, _Seq>&)'
  362 |     operator<(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y)
      |     ^~~~~~~~
/usr/include/c++/11/bits/stl_queue.h:362:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   'std::pair<long long int, long long int>' is not derived from 'const std::queue<_Tp, _Seq>'
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:87,
                 from train.cpp:2:
/usr/include/c++/11/bits/stl_set.h:1023:5: note: candidate: 'template<class _Key, class _Compare, class _Alloc> bool std::operator<(const std::set<_Key, _Compare, _Allocator>&, const std::set<_Key, _Compare, _Allocator>&)'
 1023 |     operator<(const set<_Key, _Compare, _Alloc>& __x,
      |     ^~~~~~~~
/usr/include/c++/11/bits/stl_set.h:1023:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   'std::pair<long long int, long long int>' is not derived from 'const std::set<_Key, _Compare, _Allocator>'
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/set:62,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:87,
                 from train.cpp:2:
/usr/include/c++/11/bits/stl_multiset.h:1009:5: note: candidate: 'template<class _Key, class _Compare, class _Alloc> bool std::operator<(const std::multiset<_Key, _Compare, _Allocator>&, const std::multiset<_Key, _Compare, _Allocator>&)'
 1009 |     operator<(const multiset<_Key, _Compare, _Alloc>& __x,
      |     ^~~~~~~~
/usr/include/c++/11/bits/stl_multiset.h:1009:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/11/bits/stl_algobase.h:71,
                 from /usr/include/c++/11/vector:60,
                 from train.h:1,
                 from train.cpp:1:
/usr/include/c++/11/bits/predefined_ops.h:69:22: note:   'std::pair<long long int, long long int>' is not derived from 'const std::multiset<_Key, _Compare, _Allocator>'
   69 |       { return *__it < __val; }
      |                ~~~~~~^~~~~~~
In file included from /usr/include/c++/11/stack:61,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:89,
                 from train.cpp:2:
/usr/include/c++/11/bits/stl_stack.h:337:5: note: candidate: 'template<class _Tp, class _Seq> bool std::operator<(const std::stack<_Tp, _Seq>&, const std::stack<_Tp, _Seq>&)'
  337 |     operator<(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)