#include <bits/stdc++.h>
#define ll long long
#define ld long double
#define pii pair<int,int>
#define pll pair<ll,ll>
#define plll pair<ll,pll>
#define tull tuple<ll,ll,ll>
#define pb push_back
#define f first
#define endl '\n'
#define se second
#define piii pair<int,pii>
#define id1 id<<1
#define bit(x,i) (((x) >> (i)) & 1)
#define id2 (id<<1)+1
#define MASK(i) (1<<i)
#define set_on(x,i) ((x) | MASK(i))
#define set_off(x,i) ((x) & ~MASK(i))
#define TIME "\nTime elapsed : "<<(double)clock()/1000<<" ms"
#define all(x) x.begin(),x.end()
#define id(i,j) (i - 1) * m + j
#define TASK "test"
#define fast ios_base::sync_with_stdio(0); cin.tie(0);cout.tie(0);
using namespace std;
const ll mod = 1e9 + 7; //998244353;
const ll base = 311;
const ll INF = 1e18;
const ll maxn = 1e6 + 5;
const ll maxs = 1e5;
const ld pi = 3.14159265358979323846;
const ll dx[] = {-1,0,0,1};
const ll dy[] = {0,-1,1,0};
const int dx8[] = {1, 0, -1, 0, 1, -1, -1, 1};
const int dy8[] = {0, 1, 0, -1, 1, -1, 1, -1};
int n,m;
ll d[maxn][2];
vector<pii> adj[maxn];
void dijkstra(int s)
{
for(int i = 0; i <= n; ++i){
for(int j = 0; j <= 2; ++j){
d[i][j] = INF;
}
}
priority_queue<plll,vector<plll>,greater<plll>> pq;
while(!pq.empty()) pq.pop();
d[s][0] = 0;
pq.push({0,{0,s}});
while(!pq.empty()){
ll u = pq.top().se.se;
ll w = pq.top().f;
ll k = pq.top().se.f;
pq.pop();
if(w != d[u][k]){
continue;
}
for(auto [v,kc] : adj[u]){
if(k == 0){
if(d[v][1] > d[u][k] + kc/2){
d[v][1] = d[u][k] + kc/2;
pq.push({d[v][1],{1,v}});
}
}
if(d[v][k] > d[u][k] + kc){
d[v][k] = d[u][k] + kc;
pq.push({d[v][k],{k,v}});
}
}
}
}
int main()
{
fast
cin >> n >> m;
for(int i = 1; i <= m; ++i){
int u,v,w;
cin >> u >> v >> w;
adj[u].pb({v,w});
}
dijkstra(1);
cout << d[n][1];
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgbGQgbG9uZyBkb3VibGUKI2RlZmluZSBwaWkgcGFpcjxpbnQsaW50PgojZGVmaW5lIHBsbCBwYWlyPGxsLGxsPgojZGVmaW5lIHBsbGwgcGFpcjxsbCxwbGw+CiNkZWZpbmUgdHVsbCB0dXBsZTxsbCxsbCxsbD4KI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBmIGZpcnN0CiNkZWZpbmUgZW5kbCAnXG4nCiNkZWZpbmUgc2Ugc2Vjb25kCiNkZWZpbmUgcGlpaSBwYWlyPGludCxwaWk+CiNkZWZpbmUgaWQxIGlkPDwxCiNkZWZpbmUgYml0KHgsaSkgKCgoeCkgPj4gKGkpKSAmIDEpCiNkZWZpbmUgaWQyIChpZDw8MSkrMQojZGVmaW5lIE1BU0soaSkgKDE8PGkpCiNkZWZpbmUgc2V0X29uKHgsaSkgKCh4KSB8IE1BU0soaSkpCiNkZWZpbmUgc2V0X29mZih4LGkpICgoeCkgJiB+TUFTSyhpKSkKI2RlZmluZSBUSU1FICJcblRpbWUgZWxhcHNlZCA6ICI8PChkb3VibGUpY2xvY2soKS8xMDAwPDwiIG1zIgojZGVmaW5lIGFsbCh4KSB4LmJlZ2luKCkseC5lbmQoKQojZGVmaW5lIGlkKGksaikgKGkgLSAxKSAqIG0gKyBqCiNkZWZpbmUgVEFTSyAidGVzdCIKI2RlZmluZSBmYXN0IGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7IGNpbi50aWUoMCk7Y291dC50aWUoMCk7CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNvbnN0IGxsIG1vZCA9IDFlOSArIDc7IC8vOTk4MjQ0MzUzOwpjb25zdCBsbCBiYXNlID0gMzExOwpjb25zdCBsbCBJTkYgPSAxZTE4Owpjb25zdCBsbCBtYXhuID0gMWU2ICsgNTsKY29uc3QgbGwgbWF4cyA9IDFlNTsKY29uc3QgbGQgcGkgPSAzLjE0MTU5MjY1MzU4OTc5MzIzODQ2Owpjb25zdCBsbCBkeFtdID0gey0xLDAsMCwxfTsKY29uc3QgbGwgZHlbXSA9IHswLC0xLDEsMH07CmNvbnN0IGludCBkeDhbXSA9IHsxLCAwLCAtMSwgMCwgMSwgLTEsIC0xLCAxfTsKY29uc3QgaW50IGR5OFtdID0gezAsIDEsIDAsIC0xLCAxLCAtMSwgMSwgLTF9OwoKaW50IG4sbTsKbGwgZFttYXhuXVsyXTsKdmVjdG9yPHBpaT4gYWRqW21heG5dOwoKdm9pZCBkaWprc3RyYShpbnQgcykKewogICAgZm9yKGludCBpID0gMDsgaSA8PSBuOyArK2kpewogICAgICAgIGZvcihpbnQgaiA9IDA7IGogPD0gMjsgKytqKXsKICAgICAgICAgICAgZFtpXVtqXSA9IElORjsKICAgICAgICB9CiAgICB9CiAgICBwcmlvcml0eV9xdWV1ZTxwbGxsLHZlY3RvcjxwbGxsPixncmVhdGVyPHBsbGw+PiBwcTsKICAgIHdoaWxlKCFwcS5lbXB0eSgpKSBwcS5wb3AoKTsKCiAgICBkW3NdWzBdID0gMDsKICAgIHBxLnB1c2goezAsezAsc319KTsKCiAgICB3aGlsZSghcHEuZW1wdHkoKSl7CiAgICAgICAgbGwgdSA9IHBxLnRvcCgpLnNlLnNlOwogICAgICAgIGxsIHcgPSBwcS50b3AoKS5mOwogICAgICAgIGxsIGsgPSBwcS50b3AoKS5zZS5mOwogICAgICAgIHBxLnBvcCgpOwoKICAgICAgICBpZih3ICE9IGRbdV1ba10pewogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CgogICAgICAgIGZvcihhdXRvIFt2LGtjXSA6IGFkalt1XSl7CiAgICAgICAgICAgIGlmKGsgPT0gMCl7CiAgICAgICAgICAgICAgICBpZihkW3ZdWzFdID4gZFt1XVtrXSArIGtjLzIpewogICAgICAgICAgICAgICAgICAgIGRbdl1bMV0gPSBkW3VdW2tdICsga2MvMjsKICAgICAgICAgICAgICAgICAgICBwcS5wdXNoKHtkW3ZdWzFdLHsxLHZ9fSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmKGRbdl1ba10gPiBkW3VdW2tdICsga2MpewogICAgICAgICAgICAgICAgZFt2XVtrXSA9IGRbdV1ba10gKyBrYzsKICAgICAgICAgICAgICAgIHBxLnB1c2goe2Rbdl1ba10se2ssdn19KTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQoKaW50IG1haW4oKQp7CiAgICBmYXN0CgogICAgY2luID4+IG4gPj4gbTsKCiAgICBmb3IoaW50IGkgPSAxOyBpIDw9IG07ICsraSl7CiAgICAgICAgaW50IHUsdix3OwogICAgICAgIGNpbiA+PiB1ID4+IHYgPj4gdzsKICAgICAgICBhZGpbdV0ucGIoe3Ysd30pOwogICAgfQoKICAgIGRpamtzdHJhKDEpOwoKICAgIGNvdXQgPDwgZFtuXVsxXTsKCiAgICByZXR1cm4gMDsKfQo=
Main.java:1: error: illegal character: '#'
#include <bits/stdc++.h>
^
Main.java:1: error: class, interface, or enum expected
#include <bits/stdc++.h>
^
Main.java:2: error: illegal character: '#'
#define ll long long
^
Main.java:3: error: illegal character: '#'
#define ld long double
^
Main.java:4: error: illegal character: '#'
#define pii pair<int,int>
^
Main.java:5: error: illegal character: '#'
#define pll pair<ll,ll>
^
Main.java:6: error: illegal character: '#'
#define plll pair<ll,pll>
^
Main.java:7: error: illegal character: '#'
#define tull tuple<ll,ll,ll>
^
Main.java:8: error: illegal character: '#'
#define pb push_back
^
Main.java:9: error: illegal character: '#'
#define f first
^
Main.java:10: error: illegal character: '#'
#define endl '\n'
^
Main.java:11: error: illegal character: '#'
#define se second
^
Main.java:12: error: illegal character: '#'
#define piii pair<int,pii>
^
Main.java:13: error: illegal character: '#'
#define id1 id<<1
^
Main.java:14: error: illegal character: '#'
#define bit(x,i) (((x) >> (i)) & 1)
^
Main.java:15: error: illegal character: '#'
#define id2 (id<<1)+1
^
Main.java:16: error: illegal character: '#'
#define MASK(i) (1<<i)
^
Main.java:17: error: illegal character: '#'
#define set_on(x,i) ((x) | MASK(i))
^
Main.java:18: error: illegal character: '#'
#define set_off(x,i) ((x) & ~MASK(i))
^
Main.java:19: error: illegal character: '#'
#define TIME "\nTime elapsed : "<<(double)clock()/1000<<" ms"
^
Main.java:20: error: illegal character: '#'
#define all(x) x.begin(),x.end()
^
Main.java:21: error: illegal character: '#'
#define id(i,j) (i - 1) * m + j
^
Main.java:22: error: illegal character: '#'
#define TASK "test"
^
Main.java:23: error: illegal character: '#'
#define fast ios_base::sync_with_stdio(0); cin.tie(0);cout.tie(0);
^
Main.java:23: error: class, interface, or enum expected
#define fast ios_base::sync_with_stdio(0); cin.tie(0);cout.tie(0);
^
Main.java:23: error: class, interface, or enum expected
#define fast ios_base::sync_with_stdio(0); cin.tie(0);cout.tie(0);
^
Main.java:24: error: class, interface, or enum expected
using namespace std;
^
Main.java:25: error: class, interface, or enum expected
const ll mod = 1e9 + 7; //998244353;
^
Main.java:26: error: class, interface, or enum expected
const ll base = 311;
^
Main.java:27: error: class, interface, or enum expected
const ll INF = 1e18;
^
Main.java:28: error: class, interface, or enum expected
const ll maxn = 1e6 + 5;
^
Main.java:29: error: class, interface, or enum expected
const ll maxs = 1e5;
^
Main.java:30: error: class, interface, or enum expected
const ld pi = 3.14159265358979323846;
^
Main.java:31: error: class, interface, or enum expected
const ll dx[] = {-1,0,0,1};
^
Main.java:32: error: class, interface, or enum expected
const ll dy[] = {0,-1,1,0};
^
Main.java:33: error: class, interface, or enum expected
const int dx8[] = {1, 0, -1, 0, 1, -1, -1, 1};
^
Main.java:34: error: class, interface, or enum expected
const int dy8[] = {0, 1, 0, -1, 1, -1, 1, -1};
^
Main.java:36: error: class, interface, or enum expected
int n,m;
^
Main.java:37: error: class, interface, or enum expected
ll d[maxn][2];
^
Main.java:38: error: class, interface, or enum expected
vector<pii> adj[maxn];
^
Main.java:40: error: class, interface, or enum expected
void dijkstra(int s)
^
Main.java:42: error: class, interface, or enum expected
for(int i = 0; i <= n; ++i){
^
Main.java:42: error: class, interface, or enum expected
for(int i = 0; i <= n; ++i){
^
Main.java:43: error: class, interface, or enum expected
for(int j = 0; j <= 2; ++j){
^
Main.java:43: error: class, interface, or enum expected
for(int j = 0; j <= 2; ++j){
^
Main.java:45: error: class, interface, or enum expected
}
^
Main.java:48: error: class, interface, or enum expected
while(!pq.empty()) pq.pop();
^
Main.java:50: error: class, interface, or enum expected
d[s][0] = 0;
^
Main.java:51: error: class, interface, or enum expected
pq.push({0,{0,s}});
^
Main.java:53: error: class, interface, or enum expected
while(!pq.empty()){
^
Main.java:55: error: class, interface, or enum expected
ll w = pq.top().f;
^
Main.java:56: error: class, interface, or enum expected
ll k = pq.top().se.f;
^
Main.java:57: error: class, interface, or enum expected
pq.pop();
^
Main.java:59: error: class, interface, or enum expected
if(w != d[u][k]){
^
Main.java:61: error: class, interface, or enum expected
}
^
Main.java:67: error: class, interface, or enum expected
pq.push({d[v][1],{1,v}});
^
Main.java:68: error: class, interface, or enum expected
}
^
Main.java:73: error: class, interface, or enum expected
pq.push({d[v][k],{k,v}});
^
Main.java:74: error: class, interface, or enum expected
}
^
Main.java:85: error: class, interface, or enum expected
for(int i = 1; i <= m; ++i){
^
Main.java:85: error: class, interface, or enum expected
for(int i = 1; i <= m; ++i){
^
Main.java:85: error: class, interface, or enum expected
for(int i = 1; i <= m; ++i){
^
Main.java:87: error: class, interface, or enum expected
cin >> u >> v >> w;
^
Main.java:88: error: class, interface, or enum expected
adj[u].pb({v,w});
^
Main.java:89: error: class, interface, or enum expected
}
^
Main.java:93: error: class, interface, or enum expected
cout << d[n][1];
^
Main.java:95: error: class, interface, or enum expected
return 0;
^
Main.java:96: error: class, interface, or enum expected
}
^
68 errors