Please sign in first.
Submission #63291479
Source Code Expand
#include <bits/stdc++.h>
#include <atcoder/all>
using namespace atcoder;
using namespace std;
#define REP(i,n) for(int i=0;i<n;i++)
#define endl '\n'
using ll = long long;
using P = pair<ll,ll>;
const int INF = numeric_limits<int>::max();
const ll LINF = 1e18; // numeric_limits<ll>::max();
const int MOD = 1e9+7;
int main() {
int n,m; ll x; cin >> n >> m >> x;
vector gf(n,vector<int>());
vector gb(n,vector<int>()); // back
REP(i,m) {
int u,v; cin >> u >> v; u--; v--;
gf[u].push_back(v);
gb[v].push_back(u);
}
auto calc_id = [](int id, int state) {
return id * 2 + state;
};
vector<vector<P>> edges(2*n);
REP(v,n) {
for(auto u : gf[v]) edges[calc_id(v,0)].emplace_back(calc_id(u,0), 1LL);
for(auto u : gb[v]) edges[calc_id(v,1)].emplace_back(calc_id(u,1), 1LL);
edges[calc_id(v,0)].emplace_back(calc_id(v,1), x);
edges[calc_id(v,1)].emplace_back(calc_id(v,0), x);
}
priority_queue<P, vector<P>, greater<P>> pq;
pq.emplace(0,calc_id(0,0));
vector<ll> dist(2*n,LINF);
while(pq.size()) {
auto [cd,id] = pq.top(); pq.pop();
if (dist[id] < cd) continue;
for(auto nx: edges[id]) {
auto [nxt,cost] = nx;
ll nd = cd + cost;
if (dist[nxt] > nd) {
dist[nxt] = nd;
pq.emplace(nd,nxt);
}
}
}
ll ans = min(dist[calc_id(n-1,0)],dist[calc_id(n-1,1)]);
cout << ans << endl;
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | E - Flip Edge |
| User | tic40 |
| Language | C++ 23 (gcc 12.2) |
| Score | 425 |
| Code Size | 1460 Byte |
| Status | AC |
| Exec Time | 291 ms |
| Memory | 56336 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 425 / 425 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt |
| All | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 01_random_10.txt, 01_random_11.txt, 01_random_12.txt, 01_random_13.txt, 01_random_14.txt, 01_random_15.txt, 01_random_16.txt, 01_random_17.txt, 01_random_18.txt, 01_random_19.txt, 01_random_20.txt, 01_random_21.txt, 01_random_22.txt, 01_random_23.txt, 01_random_24.txt, 01_random_25.txt, 01_random_26.txt, 01_random_27.txt, 01_random_28.txt, 01_random_29.txt, 01_random_30.txt, 01_random_31.txt, 01_random_32.txt, 01_random_33.txt, 01_random_34.txt, 01_random_35.txt, 01_random_36.txt, 01_random_37.txt, 01_random_38.txt, 01_random_39.txt, 01_random_40.txt, 01_random_41.txt, 01_random_42.txt, 01_random_43.txt, 01_random_44.txt, 01_random_45.txt, 01_random_46.txt, 01_random_47.txt, 01_random_48.txt, 01_random_49.txt, 01_random_50.txt, 01_random_51.txt, 01_random_52.txt, 01_random_53.txt, 01_random_54.txt, 01_random_55.txt, 01_random_56.txt, 01_random_57.txt, 01_random_58.txt, 01_random_59.txt, 01_random_60.txt, 01_random_61.txt, 01_random_62.txt, 01_random_63.txt, 01_random_64.txt, 01_random_65.txt, 01_random_66.txt, 01_random_67.txt, 01_random_68.txt, 01_random_69.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00_sample_00.txt | AC | 1 ms | 3588 KiB |
| 00_sample_01.txt | AC | 1 ms | 3492 KiB |
| 00_sample_02.txt | AC | 1 ms | 3584 KiB |
| 00_sample_03.txt | AC | 1 ms | 3588 KiB |
| 01_random_04.txt | AC | 286 ms | 55412 KiB |
| 01_random_05.txt | AC | 229 ms | 51968 KiB |
| 01_random_06.txt | AC | 253 ms | 53808 KiB |
| 01_random_07.txt | AC | 285 ms | 55228 KiB |
| 01_random_08.txt | AC | 229 ms | 52032 KiB |
| 01_random_09.txt | AC | 281 ms | 53964 KiB |
| 01_random_10.txt | AC | 289 ms | 55276 KiB |
| 01_random_11.txt | AC | 229 ms | 52064 KiB |
| 01_random_12.txt | AC | 249 ms | 54052 KiB |
| 01_random_13.txt | AC | 262 ms | 55400 KiB |
| 01_random_14.txt | AC | 225 ms | 52032 KiB |
| 01_random_15.txt | AC | 275 ms | 53964 KiB |
| 01_random_16.txt | AC | 290 ms | 55260 KiB |
| 01_random_17.txt | AC | 219 ms | 51968 KiB |
| 01_random_18.txt | AC | 274 ms | 53892 KiB |
| 01_random_19.txt | AC | 281 ms | 55340 KiB |
| 01_random_20.txt | AC | 223 ms | 52068 KiB |
| 01_random_21.txt | AC | 271 ms | 53896 KiB |
| 01_random_22.txt | AC | 276 ms | 54288 KiB |
| 01_random_23.txt | AC | 235 ms | 52124 KiB |
| 01_random_24.txt | AC | 266 ms | 53848 KiB |
| 01_random_25.txt | AC | 291 ms | 54452 KiB |
| 01_random_26.txt | AC | 233 ms | 52108 KiB |
| 01_random_27.txt | AC | 267 ms | 53808 KiB |
| 01_random_28.txt | AC | 277 ms | 55320 KiB |
| 01_random_29.txt | AC | 218 ms | 52036 KiB |
| 01_random_30.txt | AC | 259 ms | 53960 KiB |
| 01_random_31.txt | AC | 201 ms | 38192 KiB |
| 01_random_32.txt | AC | 50 ms | 14888 KiB |
| 01_random_33.txt | AC | 106 ms | 28556 KiB |
| 01_random_34.txt | AC | 180 ms | 49244 KiB |
| 01_random_35.txt | AC | 96 ms | 23416 KiB |
| 01_random_36.txt | AC | 140 ms | 31688 KiB |
| 01_random_37.txt | AC | 104 ms | 21756 KiB |
| 01_random_38.txt | AC | 72 ms | 36372 KiB |
| 01_random_39.txt | AC | 108 ms | 28212 KiB |
| 01_random_40.txt | AC | 174 ms | 45640 KiB |
| 01_random_41.txt | AC | 121 ms | 42180 KiB |
| 01_random_42.txt | AC | 27 ms | 10328 KiB |
| 01_random_43.txt | AC | 199 ms | 43960 KiB |
| 01_random_44.txt | AC | 72 ms | 25240 KiB |
| 01_random_45.txt | AC | 249 ms | 51948 KiB |
| 01_random_46.txt | AC | 236 ms | 54628 KiB |
| 01_random_47.txt | AC | 206 ms | 55132 KiB |
| 01_random_48.txt | AC | 245 ms | 54684 KiB |
| 01_random_49.txt | AC | 211 ms | 55072 KiB |
| 01_random_50.txt | AC | 243 ms | 54672 KiB |
| 01_random_51.txt | AC | 207 ms | 54988 KiB |
| 01_random_52.txt | AC | 255 ms | 54680 KiB |
| 01_random_53.txt | AC | 211 ms | 55104 KiB |
| 01_random_54.txt | AC | 245 ms | 54612 KiB |
| 01_random_55.txt | AC | 212 ms | 55064 KiB |
| 01_random_56.txt | AC | 233 ms | 53120 KiB |
| 01_random_57.txt | AC | 252 ms | 53016 KiB |
| 01_random_58.txt | AC | 236 ms | 53060 KiB |
| 01_random_59.txt | AC | 240 ms | 56188 KiB |
| 01_random_60.txt | AC | 253 ms | 56336 KiB |
| 01_random_61.txt | AC | 249 ms | 56288 KiB |
| 01_random_62.txt | AC | 170 ms | 38120 KiB |
| 01_random_63.txt | AC | 187 ms | 38152 KiB |
| 01_random_64.txt | AC | 183 ms | 38044 KiB |
| 01_random_65.txt | AC | 1 ms | 3584 KiB |
| 01_random_66.txt | AC | 1 ms | 3536 KiB |
| 01_random_67.txt | AC | 1 ms | 3580 KiB |
| 01_random_68.txt | AC | 23 ms | 35108 KiB |
| 01_random_69.txt | AC | 11 ms | 17468 KiB |