Submission #1498678
Source Code Expand
#include<cstdio> #include<iostream> #include<algorithm> #include<string> #include<queue> #include<vector> #include<functional> #include<cmath> #include<map> #include<stack> #include<set> #include<numeric> #include<limits> #include<iterator> #define all(x) (x).begin(),(x).end() #define rall(x) (x).rbegin(),(x).rend() using namespace std; typedef long long ll; typedef pair<int, int> pi; typedef pair<ll, ll> pl; typedef pair<ll, char> plc; struct edge { int cost; int to; }; ll n, m, k,s,g; ll INF = 1000000000; vector<pl> cost; vector<edge> G[60010]; vector<ll> ds, dg; vector<ll> dijkstra(int s) { priority_queue<pl, vector<pl>, greater<pl>> q; vector<ll> d(n,INF); d[s] = 0; q.push(pl(0, s)); while (!q.empty()) { pl p = q.top(); q.pop(); int v = p.second; if (d[v] < p.first)continue; for (int i = 0; i < G[v].size(); i++) { edge e = G[v][i]; if (d[e.to] > d[v] + e.cost) { d[e.to] = d[v] + e.cost; q.push(pl(d[e.to], e.to)); } } } return d; } ll check() { ll ans = INF; for (int i = 0; i < n; i++) { ll res = 0; for (int j = 0; j < k; j++) { if (cost[j].first <= ds[i] && cost[j+1].first > ds[i]) res += cost[j].second; if (cost[j].first <= dg[i] && cost[j+1].first > dg[i]) res += cost[j].second; } if (cost[k].first <= ds[i])res += cost[k].second; if (cost[k].first <= dg[i])res += cost[k].second; ans = min(ans, res); } return ans; } int main() { cin >> n >> m >> k >> s >> g; cost.resize(k+1); for (int i = 0; i < m; i++) { int a, b, d; cin >> a >> b >> d; G[a].push_back({d,b}); G[b].push_back({d,a }); } for (int i = 0; i < k; i++) cin >> cost[i+1].first >> cost[i+1].second; ds = dijkstra(s); dg = dijkstra(g); cout << check() << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - 切符分割 |
User | jj |
Language | C++14 (GCC 5.4.1) |
Score | 140 |
Code Size | 1850 Byte |
Status | AC |
Exec Time | 68 ms |
Memory | 4460 KB |
Judge Result
Set Name | direct | small | large | ||||||
---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 20 / 20 | 20 / 20 | 100 / 100 | ||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
direct | direct/basic_case00, direct/basic_case01, direct/basic_case02, direct/basic_case03, direct/basic_case04 |
small | small/append00, small/append01, small/append02, small/append03, small/append20, small/append21, small/append30, small/basic_case00, small/basic_case01, small/basic_case02, small/basic_case03, small/basic_case04, small/basic_case05, small/basic_case06, small/basic_case07, small/basic_case08, small/basic_case09, small/sample02, small/sample03, small/split00 |
large | large/append10, large/append11, large/append12, large/large_case00, large/large_case01, large/large_case02, large/large_case03 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample00 | AC | 2 ms | 1664 KB |
sample01 | AC | 2 ms | 1664 KB |
direct/basic_case00 | AC | 2 ms | 1664 KB |
direct/basic_case01 | AC | 2 ms | 1664 KB |
direct/basic_case02 | AC | 2 ms | 1664 KB |
direct/basic_case03 | AC | 2 ms | 1664 KB |
direct/basic_case04 | AC | 2 ms | 1664 KB |
large/append10 | AC | 64 ms | 3712 KB |
large/append11 | AC | 64 ms | 3712 KB |
large/append12 | AC | 64 ms | 3712 KB |
large/large_case00 | AC | 68 ms | 4340 KB |
large/large_case01 | AC | 60 ms | 3996 KB |
large/large_case02 | AC | 64 ms | 4120 KB |
large/large_case03 | AC | 67 ms | 4460 KB |
small/append00 | AC | 2 ms | 1664 KB |
small/append01 | AC | 2 ms | 1664 KB |
small/append02 | AC | 2 ms | 1664 KB |
small/append03 | AC | 2 ms | 1664 KB |
small/append20 | AC | 2 ms | 1664 KB |
small/append21 | AC | 2 ms | 1664 KB |
small/append30 | AC | 2 ms | 1664 KB |
small/basic_case00 | AC | 2 ms | 1664 KB |
small/basic_case01 | AC | 2 ms | 1664 KB |
small/basic_case02 | AC | 2 ms | 1664 KB |
small/basic_case03 | AC | 2 ms | 1664 KB |
small/basic_case04 | AC | 2 ms | 1664 KB |
small/basic_case05 | AC | 2 ms | 1664 KB |
small/basic_case06 | AC | 2 ms | 1664 KB |
small/basic_case07 | AC | 2 ms | 1664 KB |
small/basic_case08 | AC | 2 ms | 1664 KB |
small/basic_case09 | AC | 2 ms | 1664 KB |
small/sample02 | AC | 2 ms | 1664 KB |
small/sample03 | AC | 2 ms | 1664 KB |
small/split00 | AC | 2 ms | 1664 KB |