Submission #1027035
Source Code Expand
#include <iostream> #include <algorithm> #include <string> #include <vector> #include <queue> using namespace std; #define INF (1LL<<60) #define MAX_B 260000 typedef pair<int, int> P; typedef pair<long long, P> P2; int N, M, S, D; vector<P2> edges[253]; long long d[253][MAX_B+1]; int main() { cin >> N >> M >> S >> D; if (N >= 253) return 1; for (int k=0; k<M; k++) { int L; cin >> L; int s[L], w[L]; for (int i=0; i<L; i++) cin >> s[i]; for (int i=0; i<L-1; i++) cin >> w[i]; int t = 0, sum = 0; for (int i=0; i<L-1; i++) sum += w[i]; for (int i=0, g=sum; i<L; i++) { int l = 0; for (int j=i+1, g2=g; j<L; j++) { g2 -= w[j-1]; l += w[j-1]; edges[s[i]].push_back(P2(s[j], P(l, g2))); } g -= w[i]; } for (int i=L-1, g=sum; i>=0; i--) { int l = 0; for (int j=i-1, g2=g; j>=0; j--) { g2 -= w[j]; l += w[j]; edges[s[i]].push_back(P2(s[j], P(l, g2))); } g -= w[i-1]; } } for (int i=0; i<N; i++) { for (int j=0; j<MAX_B; j++) { d[i][j] = INF; } } priority_queue< P2, vector<P2>, greater<P2> > q; d[S][0] = 0; q.push(P2(0, P(S, 0))); long long ans = INF; while (!q.empty()) { int r = q.top().first, s = q.top().second.first, b = q.top().second.second; q.pop(); if (d[s][b]+b > r) continue; for (P2 p : edges[s]) { int t = p.first; int r1 = p.second.first, r2 = p.second.second; int w = max(b, r2*2); if (d[t][w] > d[s][b] + r1) { d[t][w] = d[s][b] + r1; q.push(P2(d[t][w]+w, P(t, w))); if (t == D) ans = min(ans, d[D][w] + w); } } } cout << ans << "\n"; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - メンテナンス明け |
User | funcsr |
Language | C++11 (GCC 4.9.2) |
Score | 0 |
Code Size | 1815 Byte |
Status | MLE |
Exec Time | 1174 ms |
Memory | 515736 KB |
Judge Result
Set Name | Subtask1 | Subtask2 | ||||||
---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 50 | 0 / 50 | ||||||
Status |
|
|
Set Name | Test Cases |
---|---|
Subtask1 | small/00_sample00, small/00_sample01, small/00_sample02, small/10_small-0000, small/10_small-0001, small/10_small-0002, small/10_small-0003, small/10_small-0004, small/10_small-0005, small/10_small-0006, small/10_small-0007, small/10_small-0008, small/10_small-0009, small/10_small-0010, small/10_small-0011, small/10_small-0012, small/10_small-0013, small/10_small-0014, small/10_small-0015, small/10_small-0016, small/10_small-0017, small/10_small-0018, small/10_small-0019, small/30_max_small, small/40_simple_0000, small/40_simple_0001, small/40_simple_0002, small/40_simple_0003, small/40_simple_0004, small/40_simple_0005, small/40_simple_0006, small/40_simple_0007, small/40_simple_0008, small/40_simple_0009, small/40_simple_0010, small/40_simple_0011, small/40_simple_0012, small/40_simple_0013, small/40_simple_0014, small/40_simple_0015, small/40_simple_0016, small/40_simple_0017, small/40_simple_0018, small/40_simple_0019, small/90_dijkstra_killer_00, small/90_dijkstra_killer_01, small/91_tayama_killer_00, small/91_tayama_killer_01, small/91_tayama_killer_02, small/91_tayama_killer_03, small/91_tayama_killer_04, small/91_tayama_killer_05 |
Subtask2 | large/20_large-00, large/20_large-01, large/20_large-02, large/20_large-03, large/20_large-04, large/31_max_large |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
large/20_large-00 | RE | 16 ms | 920 KB |
large/20_large-01 | RE | 16 ms | 796 KB |
large/20_large-02 | RE | 16 ms | 800 KB |
large/20_large-03 | RE | 18 ms | 800 KB |
large/20_large-04 | RE | 18 ms | 924 KB |
large/31_max_large | RE | 18 ms | 924 KB |
small/00_sample00 | AC | 31 ms | 10912 KB |
small/00_sample01 | AC | 31 ms | 11036 KB |
small/00_sample02 | AC | 28 ms | 8856 KB |
small/10_small-0000 | MLE | 659 ms | 514080 KB |
small/10_small-0001 | MLE | 917 ms | 505368 KB |
small/10_small-0002 | MLE | 1026 ms | 515736 KB |
small/10_small-0003 | MLE | 931 ms | 515608 KB |
small/10_small-0004 | MLE | 772 ms | 514288 KB |
small/10_small-0005 | MLE | 969 ms | 515696 KB |
small/10_small-0006 | MLE | 688 ms | 514084 KB |
small/10_small-0007 | MLE | 1000 ms | 515604 KB |
small/10_small-0008 | MLE | 715 ms | 514220 KB |
small/10_small-0009 | MLE | 640 ms | 514072 KB |
small/10_small-0010 | MLE | 1174 ms | 511520 KB |
small/10_small-0011 | MLE | 700 ms | 514032 KB |
small/10_small-0012 | MLE | 692 ms | 514080 KB |
small/10_small-0013 | MLE | 754 ms | 514208 KB |
small/10_small-0014 | MLE | 683 ms | 514084 KB |
small/10_small-0015 | MLE | 718 ms | 497940 KB |
small/10_small-0016 | MLE | 1006 ms | 487316 KB |
small/10_small-0017 | MLE | 655 ms | 514024 KB |
small/10_small-0018 | MLE | 795 ms | 515348 KB |
small/10_small-0019 | MLE | 1141 ms | 507624 KB |
small/30_max_small | MLE | 687 ms | 514788 KB |
small/40_simple_0000 | AC | 30 ms | 11032 KB |
small/40_simple_0001 | AC | 30 ms | 11032 KB |
small/40_simple_0002 | AC | 30 ms | 10908 KB |
small/40_simple_0003 | AC | 28 ms | 10912 KB |
small/40_simple_0004 | AC | 30 ms | 10864 KB |
small/40_simple_0005 | AC | 30 ms | 11028 KB |
small/40_simple_0006 | AC | 28 ms | 10916 KB |
small/40_simple_0007 | AC | 29 ms | 10916 KB |
small/40_simple_0008 | AC | 30 ms | 10912 KB |
small/40_simple_0009 | AC | 29 ms | 10872 KB |
small/40_simple_0010 | AC | 29 ms | 10868 KB |
small/40_simple_0011 | AC | 29 ms | 11028 KB |
small/40_simple_0012 | AC | 30 ms | 10912 KB |
small/40_simple_0013 | AC | 30 ms | 10912 KB |
small/40_simple_0014 | AC | 29 ms | 10916 KB |
small/40_simple_0015 | AC | 31 ms | 10916 KB |
small/40_simple_0016 | AC | 29 ms | 10904 KB |
small/40_simple_0017 | AC | 29 ms | 10868 KB |
small/40_simple_0018 | AC | 28 ms | 10908 KB |
small/40_simple_0019 | AC | 28 ms | 10912 KB |
small/90_dijkstra_killer_00 | AC | 44 ms | 23072 KB |
small/90_dijkstra_killer_01 | AC | 43 ms | 23156 KB |
small/91_tayama_killer_00 | AC | 41 ms | 18972 KB |
small/91_tayama_killer_01 | AC | 36 ms | 17056 KB |
small/91_tayama_killer_02 | AC | 42 ms | 21020 KB |
small/91_tayama_killer_03 | AC | 46 ms | 25120 KB |
small/91_tayama_killer_04 | AC | 32 ms | 12912 KB |
small/91_tayama_killer_05 | AC | 42 ms | 21024 KB |