Language: C++

#include <iostream>
#include <vector>
#include <queue>
#include <tuple>
#include <algorithm>
#include <limits>
#include <unordered_map>

using namespace std;
using ct=tuple<int,int,int>;
using rt=tuple<int,int,int,int>;
using et=tuple<int,int>;

inline bool operator<(const ct &c1,const ct &c2) {
  return get<0>(c1)<get<0>(c2);
}
void solve(int n,int m,int s,vector<rt> &rs,vector<et> &es,vector<int> &ans) {
  vector<vector<ct>> dlist(n);
  for ( int i=0; i<n; i++ ) {
    dlist[i].push_back(make_tuple(i,-get<0>(es[i]),get<1>(es[i])));
  }
  for ( const auto &ref: rs ) {
    int u,v,a,b;
    u=get<0>(ref);
    v=get<1>(ref);
    a=get<2>(ref);
    b=get<3>(ref);
    psum+=b;
    dlist[u].push_back(make_tuple(v,a,b));
    dlist[v].push_back(make_tuple(u,a,b));
  }
  vector<unordered_map<int,int>> tab(n);
  tab[0].emplace(s,0);
  priority_queue<ct> q;
  q.push(make_tuple(0,0,s));
  while ( !q.empty() )
  {
    auto c=q.top();
    q.pop();
    int time,pos,mon;
    time=get<0>(c);
    pos=get<1>(c);
    mon=get<2>(c);
    for ( const auto &rd: dlist[pos] ) {
      int npos,fee,tplus;
      npos=get<0>(rd);
      fee=get<1>(rd);
      tplus=get<2>(rd);
      if ( mon>=fee ) {
        int nmon=mon-fee;
        int ntime=time+tplus;
        auto it=tab[npos].find(nmon);
        if ( it ) {
          if ( *it>ntime ) {
            *it=ntime;
            q.push(make_tuple(ntime,npos,nmon));
          }
        }
        else {
          tab[npos].emplace(nmon,ntime);
          q.push(make_tuple(ntime,npos,nmon));
        }
      }
    }
  }
  for ( int i=1; i<n; i++ ) {
    auto &tr=tab[i];
    ans[i]=*min_element(tr.begin(),tr.end());
  }
}
void doit(std::istream &sin, std::ostream &sout) {
  int n,m,s;
  vector<rt> rs;
  vector<et> es;
  sin >> n >> m >> s;
  for ( int i=0; i<m; i++ ) {
    int u,v,a,b;
    sin >> u >> v >> a >> b;
    rs.push_back(make_tuple(u-1,v-1,a,b));
  }
  for ( int i=0; i<n; i++ ) {
    int c,d;
    sin >> c >> d;
    es.push_back(make_tuple(c,d));
  }
  vector<int> ans(n);
  solve(n,m,s,rs,es,ans);
  for ( int i=1; i<n; i++ ) {
    sout << ans[i] << endl;
  }
}
int main(void) {
  std::ios_base::sync_with_stdio(false);
  std::cin.tie(nullptr);
  doit(std::cin,std::cout);
}  

Compiler output:
a.cc: In function 'void solve(int, int, int, std::vector<std::tuple<int, int, int, int> >&, std::vector<std::tuple<int, int> >&, std::vector<int>&)':
a.cc:28:5: error: 'psum' was not declared in this scope
   28 |     psum+=b;
      |     ^~~~
a.cc:53:14: error: could not convert 'it' from 'std::__detail::_Node_iterator<std::pair<const int, int>, false, false>' to 'bool'
   53 |         if ( it ) {
      |              ^~
      |              |
      |              std::__detail::_Node_iterator<std::pair<const int, int>, false, false>
a.cc:54:19: error: no match for 'operator>' (operand types are 'std::pair<const int, int>' and 'int')
   54 |           if ( *it>ntime ) {
      |                ~~~^~~~~~
      |                |   |
      |                |   int
      |                std::pair<const int, int>
In file included from /usr/include/c++/14/string:48,
                 from /usr/include/c++/14/bits/locale_classes.h:40,
                 from /usr/include/c++/14/bits/ios_base.h:41,
                 from /usr/include/c++/14/ios:44,
                 from /usr/include/c++/14/ostream:40,
                 from /usr/include/c++/14/iostream:41,
                 from a.cc:1:
/usr/include/c++/14/bits/stl_iterator.h:462:5: note: candidate: 'template<class _Iterator> constexpr bool std::operator>(const reverse_iterator<_Iterator>&, const reverse_iterator<_Iterator>&)'
  462 |     operator>(const reverse_iterator<_Iterator>& __x,
      |     ^~~~~~~~
/usr/include/c++/14/bits/stl_iterator.h:462:5: note:   template argument deduction/substitution failed:
a.cc:54:20: note:   'std::pair<const int, int>' is not derived from 'const std::reverse_iterator<_Iterator>'
   54 |           if ( *it>ntime ) {
      |                    ^~~~~
/usr/include/c++/14/bits/stl_iterator.h:507:5: note: candidate: 'template<class _IteratorL, class _IteratorR> constexpr bool std::operator>(const reverse_iterator<_Iterator>&, const reverse_iterator<_IteratorR>&)'
  507 |     operator>(const reverse_iterator<_IteratorL>& __x,
      |     ^~~~~~~~
/usr/include/c++/14/bits/stl_iterator.h:507:5: note:   template argument deduction/substitution failed:
a.cc:54:20: note:   'std::pair<const int, int>' is not derived from 'const std::reverse_iterator<_Iterator>'
   54 |           if ( *it>ntime ) {
      |                    ^~~~~
/usr/include/c++/14/bits/stl_iterator.h:1714:5: note: candidate: 'template<class _IteratorL, class _IteratorR> constexpr bool std::operator>(const move_iterator<_IteratorL>&, const move_iterator<_IteratorR>&)'
 1714 |     operator>(const move_iterator<_IteratorL>& __x,
      |     ^~~~~~~~
/usr/include/c++/14/bits/stl_iterator.h:1714:5: note:   template argument deduction/substitution failed:
a.cc:54:20: note:   'std::pair<const int, int>' is not derived from 'const std::move_iterator<_IteratorL>'
   54 |           if ( *it>ntime ) {
      |                    ^~~~~
/usr/include/c++/14/bits/stl_iterator.h:1774:5: note: candidate: 'template<class _Iterator> constexpr bool std::operator>(const move_iterator<_IteratorL>&, const move_iterator<_IteratorL>&)'
 1774 |     operator>(const move_iterator<_Iterator>& __x,
      |     ^~~~~~~~
/usr/include/c++/14/bits/stl_iterator.h:1774:5: note:   template argument deduction/substitution failed:
a.cc:54:20: note:   'std::pair<const int, int>' is not derived from 'const std::move_iterator<_IteratorL>'
   54 |           if ( *it>ntime ) {
      |                    ^~~~~
In file included from /usr/include/c++/14/bits/stl_algobase.h:64,
                 from /usr/include/c++/14/string:51:
/usr/include/c++/14/bits/stl_pair.h:1058:5: note: candidate: 'template<class _T1, class _T2> constexpr bool std::operator>(const pair<_T1, _T2>&, const pair<_T1, _T2>&)'
 1058 |     operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
      |     ^~~~~~~~
/usr/include/c++/14/bits/stl_pair.h:1058:5: note:   template argument deduction/substitution failed:
a.cc:54:20: note:   mismatched types 'const std::pair<_T1, _T2>' and 'int'
   54 |           if ( *it>ntime ) {
      |                    ^~~~~
In file included from /usr/include/c++/14/bits/basic_string.h:47,
                 from /usr/include/c++/14/string:54:
/usr/include/c++/14/string_view:695:5: note: candidate: 'template<class _CharT, class _Traits> constexpr bool std::operator>(basic_string_view<_CharT, _Traits>, basic_string_view<_CharT, _Traits>)'
  695 |     operator> (basic_string_view<_CharT, _Traits> __x,
      |     ^~~~~~~~
/usr/include/c++/14/string_view:695:5: note:   template argument deduction/substitution failed:
a.cc:54:20: note:   'std::pair<const int, int>' is not derived from 'std::basic_string_view<_CharT, _Traits>'
   54 |           if ( *it>ntime ) {
      |                    ^~~~~
/usr/include/c++/14/string_view:702:5: note: candidate: 'template<class _CharT, class _Traits> constexpr bool std::operator>(basic_string_view<_CharT, _Traits>, __type_identity_t<basic_string_view<_CharT, _Traits> >)'
  702 |     operator> (basic_string_view<_CharT, _Traits> __x,
      |     ^~~~~~~~
/usr/include/c++/14/string_view:702:5: note:   template argument deduction/substitution failed:
a.cc:54:20: note:   'std::pair<const int, int>' is not derived from 'std::basic_string_view<_CharT, _Traits>'
   54 |           if ( *it>ntime ) {
      |                    ^~~~~
/usr/include/c++/14/string_view:710:5: note: candidate: 'template<class _CharT, class _Traits> constexpr bool std::operator>(__type_identity_t<basic_string_view<_CharT, _Traits> >, basic_string_view<_CharT, _Traits>)'
  710 |     operator> (__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
      |     ^~~~~~~~
/usr/include/c++/14/string_view:710:5: note:   template argument deduction/substitution failed:
a.cc:54:20: note:   mismatched types 'std::basic_string_view<_CharT, _Traits>' and 'int'
   54 |           if ( *it>ntime ) {
      |                    ^~~~~
/usr/include/c++/14/bits/basic_string.h:3915:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> bool std::operator>(const __cxx11::basic_string<_CharT, _Traits, _Allocator>&, const __cxx11::basic_string<_CharT, _Traits, _Allocator>&)'
 3915 |     operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/14/bits/basic_string.h:3915:5: note:   template argument deduction/substitution failed:
a.cc:54:20: note:   'std::pair<const int, int>' is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>'
   54 |           if ( *it>ntime ) {
      |                    ^~~~~
/usr/include/c++/14/bits/basic_string.h:3929:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> bool std::operator>(const __cxx11::basic_string<_CharT, _Traits, _Allocator>&, const _CharT*)'
 3929 |     operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/14/bits/basic_string.h:3929:5: note:   template argument deduction/substitution failed:
a.cc:54:20: note:   'std::pair<const int, int>' is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>'
   54 |           if ( *it>ntime ) {
      |                    ^~~~~
/usr/include/c++/14/bits/basic_string.h:3942:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> bool std::operator>(const _CharT*, const __cxx11::basic_string<_CharT, _Traits, _Allocator>&)'
 3942 |     operator>(const _CharT* __lhs,
      |     ^~~~~~~~
/usr/include/c++/14/bits/basic_string.h:3942:5: note:   template argument deduction/substitution failed:
a.cc:54:20: note:   mismatched types 'const _CharT*' and 'std::pair<const int, int>'
   54 |           if ( *it>ntime ) {
      |                    ^~~~~
In file included from /usr/include/c++/14/bits/memory_resource.h:47,
                 from /usr/include/c++/14/string:68:
/usr/include/c++/14/tuple:2619:5: note: candidate: 'template<class ... _TElements, class ... _UElements> constexpr bool std::operator>(const tuple<_UTypes ...>&, const tuple<_Elements ...>&)'
 2619 |     operator>(const tuple<_TElements...>& __t,
      |     ^~~~~~~~
/usr/include/c++/14/tuple:2619:5: note:   template argument deduction/substitution failed:
a.cc:54:20: note:   'std::pair<const int, int>' is not derived from 'const std::tuple<_UTypes ...>'
   54 |           if ( *it>ntime ) {
      |                    ^~~~~
In file included from /usr/include/c++/14/vector:66,
                 from a.cc:2:
/usr/include/c++/14/bits/stl_vector.h:2102:5: note: candidate: 'template<class _Tp, class _Alloc> bool std::operator>(const vector<_Tp, _Alloc>&, const vector<_Tp, _Alloc>&)'
 2102 |     operator>(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
      |     ^~~~~~~~
/usr/include/c++/14/bits/stl_vector.h:2102:5: note:   template argument deduction/substitution failed:
a.cc:54:20: note:   'std::pair<const int, int>' is not derived from 'const std::vector<_Tp, _Alloc>'
   54 |           if ( *it>ntime ) {
      |                    ^~~~~
In file included from /usr/include/c++/14/deque:66,
                 from /usr/include/c++/14/queue:62,
                 from a.cc:3:
/usr/include/c++/14/bits/stl_deque.h:2349:5: note: candidate: 'template<class _Tp, class _Alloc> bool std::operator>(const deque<_Tp, _Alloc>&, const deque<_Tp, _Alloc>&)'
 2349 |     operator>(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y)
      |     ^~~~~~~~
/usr/include/c++/14/bits/stl_deque.h:2349:5: note:   template argument deduction/substitution failed:
a.cc:54:20: note:   'std::pair<const int, int>' is not derived from 'const std::deque<_Tp, _Alloc>'
   54 |           if ( *it>ntime ) {
      |                    ^~~~~
In file included from /usr/include/c++/14/queue:66:
/usr/include/c++/14/bits/stl_queue.h:411:5: note: candidate: 'template<class _Tp, class _Seq> bool std::operator>(const queue<_Tp, _Seq>&, const queue<_Tp, _Seq>&)'
  411 |     operator>(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y)
      |     ^~~~~~~~
/usr/include/c++/14/bits/stl_queue.h:411:5: note:   template argument deduction/substitution failed:
a.cc:54:20: note:   'std::pair<const int, int>' is not derived from 'const std::queue<_Tp, _Seq>'
   54 |