Submission #938636

#TimeUsernameProblemLanguageResultExecution timeMemory
938636farukToll (BOI17_toll)C++17
0 / 100
3035 ms4408 KiB
#include <bits/stdc++.h> #define mp make_pair #define all(a) a.begin(), a.end() using namespace std; typedef long long ll; typedef pair<ll, ll> pii; int main() { ios_base::sync_with_stdio(false); cin.tie(0); int n, m, k, q; cin >> k >> n >> m >> q; vector<vector<pii> > graph(n + k); for (int i = 0; i < m; i++) { int f, t, p; cin >>f >> t >> p; graph[f].push_back(pii(t % k, p)); } while (q--) { int f, t; cin >> f >> t; int SF = f / k, ST = t / k; vector<ll> ans(k, 1e18); ans[f % k] = 0; for (int i = SF; i < ST; i++) { vector<ll> neww(k, 1e18); for (int j = 0; j < 5; j++) for (auto &[to, w] : graph[i * k + j]) neww[to] = min(neww[to], ans[j] + w); ans = neww; } if (ans[t % k] == 1e18) cout << "-1\n"; else cout << ans[t % k] << "\n"; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...