省略
省略
C++に変換後のコードはこちら
int M, N, T[2d5], A[2d5], B[2d5], C[2d5], D[2d5];
ll K;
{
int i, j, k;
ll now, nx, res;
wgraph<int> g, gg;
DijkstraHeap<ll> hp;
rd(N,M,K);
rep(i,1,N-1) rd(T[i]);
rd((A--,B--,C,D)(M));
g.setEdge(N,M,A,B,C);
gg.setEdge(N,M,A,B,D);
hp.malloc(N);
hp.init(N);
hp.change(0, 0);
res = -1;
while(hp.size){
i = hp.pop();
if(i==N-1){
res = hp.val[i];
break;
}
now = hp.val[i] + T[i];
rep(j,g.es[i]){
k = g.edge[i][j];
nx = (now /+ gg.cost[i][j]) * gg.cost[i][j] + g.cost[i][j];
hp.change(k,nx);
}
}
if(res > K) res = -1;
wt(res);
}
Current time: 2024年04月26日17時39分26秒
Last modified: 2019年07月27日18時38分55秒 (by laycrs)
Tags: Competitive_Programming_Incomplete AtCoder
トップページに戻る
Logged in as: unknown user (not login)