Language: C++

#include<iostream>
#include<string>
#include<cmath>
#include<queue>
#include<map>
#include<set>
#include<list>
#include<iomanip>
#include<vector>
#include<functional>
#include<algorithm>
#include<cstdio>
using namespace std;
typedef long long ll;
ll a[100001];
struct P{
	ll pos,cost;
};
struct B{
	ll to,cost;
};
struct L{
	ll from,to,cost;
};
vector<B>e[100001];
L l[200000];
struct T{
	ll x,cost;
};
T lo[200000];
bool operator<(P a,P b){return a.cost<b.cost;}
bool operator>(P a,P b){return a.cost>b.cost;}
bool operator<(T a,T b){return a.x<b.x;}
const ll inf=8000000000000000;
int main() {
	ll n,m,c;
	while(cin>>n>>m>>c){
		for(ll i=1;i<=n;i++){
			a[i]=inf;
			e[i].clear();
		}
		ll r=0;
		for(ll i=0;i<m;i++){
			ll u1,u2,u3;
			cin>>u1>>u2>>u3;
			e[u1].push_back(B{u2,u3});
			e[u2].push_back(B{u1,u3});
			l[i]=L{u1,u2,u3};
			r+=u3;
		}
		priority_queue<P, vector<P>, greater<P>>p;
		a[1]=0;
		p.push(P{1,0});
		while(!p.empty()){
			P t=p.top();p.pop();
			for(ll i=0;i<(ll)e[t.pos].size();i++){
				if(a[t.pos]+e[t.pos][i].cost<a[e[t.pos][i].to]){
					a[e[t.pos][i].to]=a[t.pos]+e[t.pos][i].cost;
					p.push(P{e[t.pos][i].to,a[e[t.pos][i].to]});
				}
			}
		}
		for(ll i=0;i<m;i++){
			ll k=max(a[l[i].from],a[l[i].to]});
			lo[i]=T{k,l[i].cost};
		}
		sort(lo,lo+m);
		ll sum=r;
		ll sum3=inf;
		for(ll i=0;i<m;i++){
			ll sum2=0,k=lo[k].x;
			while(i<m&&lo[i]==k){
				sum2+=lo[i].cost;
			}
			sum-=sum2;
			ll sum4=sum+k*c;
			sum3=min(sum3,sum4);
		}
		cout<<sum3<<endl;
	}
}

Compiler output:
a.cc: In function 'int main()':
a.cc:64:57: error: expected ')' before '}' token
   64 |                         ll k=max(a[l[i].from],a[l[i].to]});
      |                                 ~                       ^
      |                                                         )
a.cc:64:58: error: expected primary-expression before ')' token
   64 |                         ll k=max(a[l[i].from],a[l[i].to]});
      |                                                          ^
a.cc:65:28: error: 'i' was not declared in this scope
   65 |                         lo[i]=T{k,l[i].cost};
      |                            ^
a.cc:65:33: error: 'k' was not declared in this scope
   65 |                         lo[i]=T{k,l[i].cost};
      |                                 ^
a.cc:68:24: error: 'r' was not declared in this scope
   68 |                 ll sum=r;
      |                        ^
a.cc:72:41: error: no match for 'operator==' (operand types are 'T' and 'll' {aka 'long long int'})
   72 |                         while(i<m&&lo[i]==k){
      |                                    ~~~~~^~~
      |                                        |  |
      |                                        T  ll {aka long long int}
In file included from /usr/include/c++/14/iosfwd:42,
                 from /usr/include/c++/14/ios:40,
                 from /usr/include/c++/14/ostream:40,
                 from /usr/include/c++/14/iostream:41,
                 from a.cc:1:
/usr/include/c++/14/bits/postypes.h:192:5: note: candidate: 'template<class _StateT> bool std::operator==(const fpos<_StateT>&, const fpos<_StateT>&)'
  192 |     operator==(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
      |     ^~~~~~~~
/usr/include/c++/14/bits/postypes.h:192:5: note:   template argument deduction/substitution failed:
a.cc:72:43: note:   'T' is not derived from 'const std::fpos<_StateT>'
   72 |                         while(i<m&&lo[i]==k){
      |                                           ^
In file included from /usr/include/c++/14/string:43,
                 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:
/usr/include/c++/14/bits/allocator.h:235:5: note: candidate: 'template<class _T1, class _T2> bool std::operator==(const allocator<_CharT>&, const allocator<_T2>&)'
  235 |     operator==(const allocator<_T1>&, const allocator<_T2>&)
      |     ^~~~~~~~
/usr/include/c++/14/bits/allocator.h:235:5: note:   template argument deduction/substitution failed:
a.cc:72:43: note:   'T' is not derived from 'const std::allocator<_CharT>'
   72 |                         while(i<m&&lo[i]==k){
      |                                           ^
In file included from /usr/include/c++/14/string:48:
/usr/include/c++/14/bits/stl_iterator.h:441:5: note: candidate: 'template<class _Iterator> constexpr bool std::operator==(const reverse_iterator<_Iterator>&, const reverse_iterator<_Iterator>&)'
  441 |     operator==(const reverse_iterator<_Iterator>& __x,
      |     ^~~~~~~~
/usr/include/c++/14/bits/stl_iterator.h:441:5: note:   template argument deduction/substitution failed:
a.cc:72:43: note:   'T' is not derived from 'const std::reverse_iterator<_Iterator>'
   72 |                         while(i<m&&lo[i]==k){
      |                                           ^
/usr/include/c++/14/bits/stl_iterator.h:486:5: note: candidate: 'template<class _IteratorL, class _IteratorR> constexpr bool std::operator==(const reverse_iterator<_Iterator>&, const reverse_iterator<_IteratorR>&)'
  486 |     operator==(const reverse_iterator<_IteratorL>& __x,
      |     ^~~~~~~~
/usr/include/c++/14/bits/stl_iterator.h:486:5: note:   template argument deduction/substitution failed:
a.cc:72:43: note:   'T' is not derived from 'const std::reverse_iterator<_Iterator>'
   72 |                         while(i<m&&lo[i]==k){
      |                                           ^
/usr/include/c++/14/bits/stl_iterator.h:1667:5: note: candidate: 'template<class _IteratorL, class _IteratorR> constexpr bool std::operator==(const move_iterator<_IteratorL>&, const move_iterator<_IteratorR>&)'
 1667 |     operator==(const move_iterator<_IteratorL>& __x,
      |     ^~~~~~~~
/usr/include/c++/14/bits/stl_iterator.h:1667:5: note:   template argument deduction/substitution failed:
a.cc:72:43: note:   'T' is not derived from 'const std::move_iterator<_IteratorL>'
   72 |                         while(i<m&&lo[i]==k){
      |                                           ^
/usr/include/c++/14/bits/stl_iterator.h:1737:5: note: candidate: 'template<class _Iterator> constexpr bool std::operator==(const move_iterator<_IteratorL>&, const move_iterator<_IteratorL>&)'
 1737 |     operator==(const move_iterator<_Iterator>& __x,
      |     ^~~~~~~~
/usr/include/c++/14/bits/stl_iterator.h:1737:5: note:   template argument deduction/substitution failed:
a.cc:72:43: note:   'T' is not derived from 'const std::move_iterator<_IteratorL>'
   72 |                         while(i<m&&lo[i]==k){
      |                                           ^
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:1033:5: note: candidate: 'template<class _T1, class _T2> constexpr bool std::operator==(const pair<_T1, _T2>&, const pair<_T1, _T2>&)'
 1033 |     operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
      |     ^~~~~~~~
/usr/include/c++/14/bits/stl_pair.h:1033:5: note:   template argument deduction/substitution failed:
a.cc:72:43: note:   'T' is not derived from 'const std::pair<_T1, _T2>'
   72 |                         while(i<m&&lo[i]==k){
      |                                           ^
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:629: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> >)'
  629 |     operator==(basic_string_view<_CharT, _Traits> __x,
      |     ^~~~~~~~
/usr/include/c++/14/string_view:629:5: note:   template argument deduction/substitution failed:
a.cc:72:43: note:   'T' is not derived from 'std::basic_string_view<_CharT, _Traits>'
   72 |                         while(i<m&&lo[i]==k){
      |                                           ^
/usr/include/c++/14/string_view:637:5: note: candidate: 'template<class _CharT, class _Traits> constexpr bool std::operator==(basic_string_view<_CharT, _Traits>, basic_string_view<_CharT, _Traits>)'
  637 |     operator==(basic_string_view<_CharT, _Traits> __x,
      |     ^~~~~~~~
/usr/include/c++/14/string_view:637:5: note:   template argument deduction/substitution failed:
a.cc:72:43: note:   'T' is not derived from 'std::basic_string_view<_CharT, _Traits>'
   72 |                         while(i<m&&lo[i]==k){
      |                                           ^
/usr/include/c++/14/string_view:644: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>)'
  644 |     operator==(__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
      |     ^~~~~~~~
/usr/include/c++/14/string_view:644:5: note:   template argument deduction/substitution failed:
a.cc:72:43: note:   mismatched types 'std::basic_string_view<_CharT, _Traits>' and 'long long int'
   72 |                         while(i<m&&lo[i]==k){
      |                                           ^
/usr/include/c++/14/bits/basic_string.h:3755: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>&)'
 3755 |     operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/14/bits/basic_string.h:3755:5: note:   template argument deduction/substitution failed:
a.cc:72:43: note:   'T' is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>'
   72 |                         while(i<m&&lo[i]==k){
      |                                           ^
/usr/include/c++/14/bits/basic_string.h:3772:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> bool std::operator==(const __cxx11::basic_string<_CharT, _Traits, _Allocator>&, const _CharT*)'
 3772 |     operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/14/bits/basic_string.h:3772:5: note:   template argument deduction/substitution failed:
a.cc:72:43: note:   'T' is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>'
   72 |                         while(i<m&&lo[i]==k){
      |                                           ^
/usr/include/c++/14/bits/basic_string.h:3819:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> bool std::operator==(const _CharT*, const __cxx11::basic_string<_CharT, _Traits, _Allocator>&)'
 3819 |     operator==(const _CharT* __lhs,
      |     ^~~~~~~~
/usr/include/c++/14/bits/basic_string.h:3819:5: note:   template argument deduction/substitution failed:
a.cc:72:43: note:   mismatched types 'const _CharT*' and 'T'
   72 |                         while(i<m&&lo[i]==k){
      |                                           ^
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:2558:5: note: candidate: 'template<class ... _TElements, class ... _UElements> constexpr bool std::operator==(const tuple<_UTypes ...>&, const tuple<_Elements ...>&)'
 2558 |     operator==(const tuple<_TElements...>& __t,
      |     ^~~~~~~~
/usr/include/c++/14/tuple:2558:5: note:   template argument deduction/substitution failed:
a.cc:72:43: note:   'T' is not derived from 'const std::tuple<_UTypes ...>'
   72 |                         while(i<m&&lo[i]==k){
      |                                           ^
In file in