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
AC × 4
AC × 70
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