Language: C++

#include<iostream>
#include<vector>
#include<string>
#include<cstdio>
#include<map>
#include<algorithm>

using namespace std;

#define INF 10000000

struct Tree{
	int E;
	int Time;
	bool used;
};
	int N,M,X;
	int H[100001];
	int dis[100001];
	int from,to,time;
	vector<Tree> t[100001];
	Tree tree1,tree2;
	bool used[10001];
/*
void dijkstra(int s){
	fill(used,used+N+1,false);
	for(int i=1;i<=N;i++){
		dis[i]=INF;
	}
	dis[s]=0;

	while(true){
		int v = -1;
		for(int u = 1; u <= N; u++){
			if(!used[u] && (v == -1 || dis[u] < dis[v])) v = u;
		}
		if(v == -1) break;
		used[v] = true;

		for(int u = 0; u < t[v].size(); u++){
			if(0 < X-t[v][u].Time && t[v][u].Time <H[t[v][u].E]){
				dis[t[v][u].E] = min(dis[t[v][u].E], dis[v]+t[v][u].Time);
			}
		}

	}
}
*/

bool m(int node,int x,int d){
	if(node == N){
		d += H[N]-x;
		if(dis[N] > d){
			dis[N] = d;
		}
		return true;
	}else{
		int x1,d1,to;
		for(int u = 0; u < t[node].size(); u++){
			x1 = x;
			d1 = d;
			cout<<t[node][u].E<<endl;
			if(t[node][u].used != false) continue;
			for(int i=0 ;t[t[node][u].E].size();i++){
				if(t[t[node][u].E][i].E == node){
					to = i;
					t[t[node][u].E][to].used = true;
					break;
				}
			}
			t[node][u].used = true;
			if(0 <= x1-t[node][u].Time && x1-t[node][u].Time <= H[t[node][u].E]){
				d1 += t[node][u].Time;
				m(t[node][u].E,x1-t[node][u].Time,d1);
			}else{
				if(0 > x1-t[node][u].Time){
					d1 += -(x1-t[node][u].Time);
					x1 += -(x1-t[node][u].Time);
					if(x1 > H[node]){
						t[node][u].used = false;
						continue;
					}
					d1 += t[node][u].Time;
					m(t[node][u].E,0,d1);
				}else{
					d1 += x1-t[node][u].Time-H[t[node][u].E];
					x1 = H[t[node][u].E]+t[node][u].Time;
					d1 += t[node][u].Time;
					m(t[node][u].E,H[t[node][u].E],d1);
				}
			}
			t[node][u].used = false;
			t[t[node][u].E][to].used = false;
		}
	}
	return false;
}

int main(){
	
	cin>>N>>M>>X;
	for(int i=1;i<=N;i++){
		cin>>H[i];
	}
	for(int j=0;j<M;j++){
		cin>>to>>from>>time;
		tree1.E=from;
		tree1.Time=time;
		tree1.used=false;
		tree2.E=to;
		tree2.Time=time;
		tree2.used=false;
		t[to].push_back(tree1);
		t[from].push_back(tree2);
	}
	dis[N] = INF;
	m(1,X,0);
	
	if(dis[N] !=INF)cout<<dis[N]<<endl;
	else cout<<-1<<endl;

	return 0;
}

Compiler output:
a.cc:20:21: error: 'int time' redeclared as different kind of entity
   20 |         int from,to,time;
      |                     ^~~~
In file included from /usr/include/pthread.h:23,
                 from /usr/include/x86_64-linux-gnu/c++/14/bits/gthr-default.h:35,
                 from /usr/include/x86_64-linux-gnu/c++/14/bits/gthr.h:157,
                 from /usr/include/c++/14/ext/atomicity.h:35,
                 from /usr/include/c++/14/bits/ios_base.h:39,
                 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/time.h:76:15: note: previous declaration 'time_t time(time_t*)'
   76 | extern time_t time (time_t *__timer) __THROW;
      |               ^~~~
a.cc: In function 'int main()':
a.cc:106:30: error: no match for 'operator>>' (operand types are 'std::basic_istream<char>::__istream_type' {aka 'std::basic_istream<char>'} and 'time_t(time_t*) noexcept' {aka 'long int(long int*) noexcept'})
  106 |                 cin>>to>>from>>time;
      |                 ~~~~~~~~~~~~~^~~~~~
      |                        |       |
      |                        |       time_t(time_t*) noexcept {aka long int(long int*) noexcept}
      |                        std::basic_istream<char>::__istream_type {aka std::basic_istream<char>}
In file included from /usr/include/c++/14/iostream:42:
/usr/include/c++/14/istream:170:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(bool&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  170 |       operator>>(bool& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:170:7: note:   conversion of argument 1 would be ill-formed:
a.cc:106:32: error: cannot bind non-const lvalue reference of type 'bool&' to a value of type 'time_t (*)(time_t*) noexcept' {aka 'long int (*)(long int*) noexcept'}
  106 |                 cin>>to>>from>>time;
      |                                ^~~~
/usr/include/c++/14/istream:174:7: note: candidate: 'std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(short int&) [with _CharT = char; _Traits = std::char_traits<char>]' (near match)
  174 |       operator>>(short& __n);
      |       ^~~~~~~~
/usr/include/c++/14/istream:174:7: note:   conversion of argument 1 would be ill-formed:
a.cc:106:32: error: invalid conversion from 'time_t (*)(time_t*) noexcept' {aka 'long int (*)(long int*) noexcept'} to 'short int' [-fpermissive]
  106 |                 cin>>to>>from>>time;
      |                                ^~~~
      |                                |
      |                                time_t (*)(time_t*) noexcept {aka long int (*)(long int*) noexcept}
a.cc:106:32: error: cannot bind rvalue '(short int)time' to 'short int&'
/usr/include/c++/14/istream:177:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(short unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  177 |       operator>>(unsigned short& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:177:7: note:   conversion of argument 1 would be ill-formed:
a.cc:106:32: error: invalid conversion from 'time_t (*)(time_t*) noexcept' {aka 'long int (*)(long int*) noexcept'} to 'short unsigned int' [-fpermissive]
  106 |                 cin>>to>>from>>time;
      |                                ^~~~
      |                                |
      |                                time_t (*)(time_t*) noexcept {aka long int (*)(long int*) noexcept}
a.cc:106:32: error: cannot bind rvalue '(short unsigned int)time' to 'short unsigned int&'
/usr/include/c++/14/istream:181:7: note: candidate: 'std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(int&) [with _CharT = char; _Traits = std::char_traits<char>]' (near match)
  181 |       operator>>(int& __n);
      |       ^~~~~~~~
/usr/include/c++/14/istream:181:7: note:   conversion of argument 1 would be ill-formed:
a.cc:106:32: error: invalid conversion from 'time_t (*)(time_t*) noexcept' {aka 'long int (*)(long int*) noexcept'} to 'int' [-fpermissive]
  106 |                 cin>>to>>from>>time;
      |                                ^~~~
      |                                |
      |                                time_t (*)(time_t*) noexcept {aka long int (*)(long int*) noexcept}
a.cc:106:32: error: cannot bind rvalue '(int)time' to 'int&'
/usr/include/c++/14/istream:184:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  184 |       operator>>(unsigned int& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:184:7: note:   conversion of argument 1 would be ill-formed:
a.cc:106:32: error: invalid conversion from 'time_t (*)(time_t*) noexcept' {aka 'long int (*)(long int*) noexcept'} to 'unsigned int' [-fpermissive]
  106 |                 cin>>to>>from>>time;
      |                                ^~~~
      |                                |
      |                                time_t (*)(time_t*) noexcept {aka long int (*)(long int*) noexcept}
a.cc:106:32: error: cannot bind rvalue '(unsigned int)time' to 'unsigned int&'
/usr/include/c++/14/istream:188:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  188 |       operator>>(long& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:188:7: note:   conversion of argument 1 would be ill-formed:
a.cc:106:32: error: invalid conversion from 'time_t (*)(time_t*) noexcept' {aka 'long int (*)(long int*) noexcept'} to 'long int' [-fpermissive]
  106 |                 cin>>to>>from>>time;
      |                                ^~~~
      |                                |
      |                                time_t (*)(time_t*) noexcept {aka long int (*)(long int*) noexcept}
a.cc:106:32: error: cannot bind rvalue '(long int)time' to 'long int&'
/usr/include/c++/14/istream:192:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  192 |       operator>>(unsigned long& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:192:7: note:   conversion of argument 1 would be ill-formed:
a.cc:106:32: error: invalid conversion from 'time_t (*)(time_t*) noexcept' {aka 'long int (*)(long int*) noexcept'} to 'long unsigned int' [-fpermissive]
  106 |                 cin>>to>>from>>time;
      |                                ^~~~
      |                                |
      |                                time_t (*)(time_t*) noexcept {aka long int (*)(long int*) noexcept}
a.cc:106:32: error: cannot bind rvalue '(long unsigned int)time' to 'long unsigned int&'
/usr/include/c++/14/istream:199:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long long int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  199 |       operator>>(long long& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:199:7: note:   conversion of argument 1 would be ill-formed:
a.cc:106:32: error: invalid conversion from 'time_t (*)(time_t*) noexcept' {aka 'long int (*)(long int*) noexcept'} to 'long long int' [-fpermissive]
  106 |                 cin>>to>>from>>time;
      |                                ^~~~
      |                                |
      |                                time_t (*)(time_t*) noexcept {aka long int (*)(long int*) noexcept}
a.cc:106:32: error: cannot bind rvalue '(long long int)time' to 'long long int&'
/usr/include/c++/14/istream:203:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long long unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  203 |       operator>>(unsigned long long& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:203:7: note:   conversion of argument 1 would be ill-formed:
a.cc:106:32: error: invalid conversion from 'time_t (*)(time_t*) noexcept' {aka 'long int (*)(long int*) noexcept'} to 'long long unsigned int' [-fpermissive]
  106 |                 cin>>to>>from>>time;
      |                                ^~~~
      |                                |
      |                                time_t (*)(time_t*) noexcept {aka long int (*)(long int*) noexcept}
a.cc:106:32: error: cannot bind rvalue '(long long unsigned int)time' to 'long long unsigned int&'
/usr/include/c++/14/istream:328:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(void*&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  328 |       operator>>(void*& __p)
      |       ^~~~~~~~
/usr/include/c++/14/istream:328:7: note:   conversion of argument 1 would be ill-formed:
a.cc:106:32: error: invalid conversion from 'time_t (*)(time_t*) noexcept' {aka 'long int (*)(long int*) noexcept'} to 'void*' [-fpermissive]
  106 |                 cin>>to>>from>>time;
      |                                ^~~~
      |                                |
      |                                time_t (*)(time_t*) noexcept {aka long int (*)(long int*) noexcept}
a.cc:106:32: error: cannot bind rvalue '(void*)time' to 'void*&'
/usr/include/c++/14/istream:122:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::opera