Submission #1246392
Source Code Expand
#include<bits/stdc++.h> using namespace std; #define int long long typedef pair<int,int> P; #define F first #define S second vector<P> G[114514]; int dp[114514]; signed main(){ int n,m,s,d; cin>>n>>m>>s>>d; int a[n],b[n],c[n]; for(int i=0;i<n;i++) cin>>a[i]>>b[i]>>c[i]; int x[m],y[m],t[m]; for(int i=0;i<m;i++) cin>>x[i]>>y[i]>>t[i]; for(int i=0;i<m;i++){ x[i]--;y[i]--; G[x[i]].emplace_back(y[i],t[i]); G[y[i]].emplace_back(x[i],t[i]); } int INF=1LL<<55LL; for(int i=0;i<114514;i++) dp[i]=INF; priority_queue<P> q; s--;d--; q.emplace(0,s); dp[s]=0; while(!q.empty()){ P p=q.top();q.pop(); int d=-p.F,v=p.S; if(dp[v]<d) continue; int nd=dp[v]; if(nd<=c[v]) nd=c[v]; else{ int k=(nd-c[v])%(a[v]+b[v]); if(k>=a[v]) nd+=a[v]+b[v]-k; } for(P e:G[v]){ int u=e.F,nc=e.S; if(nd+nc<dp[u]){ dp[u]=nd+nc; q.emplace(-dp[u],u); } } } cout<<dp[d]<<endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | I - 信号待ち |
User | beet |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 1017 Byte |
Status | AC |
Exec Time | 247 ms |
Memory | 13696 KB |
Judge Result
Set Name | All | ||
---|---|---|---|
Score / Max Score | 100 / 100 | ||
Status |
|
Set Name | Test Cases |
---|---|
All | 00-sample1, 00-sample2, 00-small0, 00-small1, 00-small10, 00-small11, 00-small12, 00-small13, 00-small14, 00-small15, 00-small16, 00-small17, 00-small18, 00-small19, 00-small2, 00-small3, 00-small4, 00-small5, 00-small6, 00-small7, 00-small8, 00-small9, 20-large0, 20-large1, 20-large10, 20-large11, 20-large12, 20-large13, 20-large14, 20-large15, 20-large16, 20-large17, 20-large18, 20-large19, 20-large2, 20-large3, 20-large4, 20-large5, 20-large6, 20-large7, 20-large8, 20-large9, 50-corner00, 50-corner01, 50-corner02 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00-sample1 | AC | 3 ms | 3840 KB |
00-sample2 | AC | 3 ms | 3840 KB |
00-small0 | AC | 3 ms | 3840 KB |
00-small1 | AC | 3 ms | 3840 KB |
00-small10 | AC | 17 ms | 5120 KB |
00-small11 | AC | 10 ms | 4736 KB |
00-small12 | AC | 18 ms | 5248 KB |
00-small13 | AC | 15 ms | 4992 KB |
00-small14 | AC | 12 ms | 4864 KB |
00-small15 | AC | 9 ms | 4608 KB |
00-small16 | AC | 11 ms | 4864 KB |
00-small17 | AC | 11 ms | 4736 KB |
00-small18 | AC | 8 ms | 4224 KB |
00-small19 | AC | 13 ms | 4864 KB |
00-small2 | AC | 3 ms | 3840 KB |
00-small3 | AC | 4 ms | 3840 KB |
00-small4 | AC | 3 ms | 3840 KB |
00-small5 | AC | 4 ms | 3840 KB |
00-small6 | AC | 3 ms | 3840 KB |
00-small7 | AC | 3 ms | 3840 KB |
00-small8 | AC | 4 ms | 3840 KB |
00-small9 | AC | 4 ms | 3840 KB |
20-large0 | AC | 236 ms | 13696 KB |
20-large1 | AC | 235 ms | 13696 KB |
20-large10 | AC | 233 ms | 13568 KB |
20-large11 | AC | 241 ms | 13696 KB |
20-large12 | AC | 236 ms | 13696 KB |
20-large13 | AC | 236 ms | 13696 KB |
20-large14 | AC | 233 ms | 13696 KB |
20-large15 | AC | 242 ms | 13696 KB |
20-large16 | AC | 234 ms | 13568 KB |
20-large17 | AC | 235 ms | 13696 KB |
20-large18 | AC | 242 ms | 13696 KB |
20-large19 | AC | 235 ms | 13696 KB |
20-large2 | AC | 235 ms | 13696 KB |
20-large3 | AC | 237 ms | 13696 KB |
20-large4 | AC | 243 ms | 13696 KB |
20-large5 | AC | 240 ms | 13568 KB |
20-large6 | AC | 247 ms | 13696 KB |
20-large7 | AC | 239 ms | 13696 KB |
20-large8 | AC | 237 ms | 13696 KB |
20-large9 | AC | 232 ms | 13568 KB |
50-corner00 | AC | 202 ms | 13184 KB |
50-corner01 | AC | 174 ms | 13184 KB |
50-corner02 | AC | 146 ms | 13184 KB |