結果
問題 | No.2739 Time is money |
ユーザー | ilovenaomi |
提出日時 | 2024-04-21 06:52:12 |
言語 | C++17 (gcc 12.3.0 + boost 1.83.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,335 bytes |
コンパイル時間 | 2,167 ms |
コンパイル使用メモリ | 216,220 KB |
実行使用メモリ | 66,816 KB |
最終ジャッジ日時 | 2024-10-13 05:36:14 |
合計ジャッジ時間 | 6,818 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 2 ms
10,496 KB |
testcase_01 | AC | 2 ms
5,248 KB |
testcase_02 | AC | 503 ms
38,400 KB |
testcase_03 | TLE | - |
testcase_04 | -- | - |
testcase_05 | -- | - |
testcase_06 | -- | - |
testcase_07 | -- | - |
testcase_08 | -- | - |
testcase_09 | -- | - |
testcase_10 | -- | - |
testcase_11 | -- | - |
testcase_12 | -- | - |
testcase_13 | -- | - |
testcase_14 | -- | - |
testcase_15 | -- | - |
testcase_16 | -- | - |
testcase_17 | -- | - |
testcase_18 | -- | - |
testcase_19 | -- | - |
ソースコード
#include <bits/stdc++.h> #define rep(i, n) for(int i = 0; i < (int)(n); i++) #define rep1(i, n) for(int i = 1; i <=(int)(n); i++) #define all(obj) (obj).begin(), (obj).end() typedef long long int ll; using namespace std; map<pair<int,int>, ll> mpc,mpt; ll ans = -1; int n,m; ll x; void dfs(int start,int goal, vector<vector<int>>& graph, vector<bool>&passed, ll cost, ll time){ if( start == goal){ ll atime = cost / x; if( cost % x != 0) atime++; if( ans == -1){ ans = atime+time; }else{ ans = min(ans,atime+time); } return ; } passed[start] = true; for( auto nx: graph[start]){ if( passed[nx] == false){ dfs(nx,goal,graph,passed, cost+mpc[{start,nx}], time+mpt[{start,nx}]); } } passed[start] = false; } int main() { cin >> n >> m >> x; vector<vector<int>> graph(n); rep(i,m){ int u,v; ll c,t; cin >> u >> v >> c >> t; v--; u--; mpt[{u,v}] = t; mpc[{u,v}] = c; mpt[{v,u}] = t; mpc[{v,u}] = c; graph[u].push_back(v); graph[v].push_back(u); } vector<bool> passed(n,false); ans = -1; dfs(0,n-1,graph,passed,0,0); cout << ans << endl; }