Submission #1260083

#TimeUsernameProblemLanguageResultExecution timeMemory
1260083Seyyed_Mojtaba_MortazaviTravelling Merchant (APIO17_merchant)C++20
12 / 100
34 ms2368 KiB
#include <bits/stdc++.h> using namespace std; #define int long long int const int INF = 1e18 + 10; const int MAXN = 1e3 + 10; int B[MAXN][MAXN]; int S[MAXN][MAXN]; int dist[MAXN][MAXN]; signed main() { int n, m, k, ans = 0; cin >> n >> m >> k; for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { dist[i][j] = INF; } } for (int i = 1; i <= n; i++) { for (int j = 1; j <= k; j++) { cin >> B[i][j] >> S[i][j]; } } for (int i = 1; i <= m; i++) { int v, u, w; cin >> v >> u >> w; dist[v][u] = min(dist[v][u], w); } for (int k = 1; k <= n; k++) { for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { dist[i][j] = min(dist[i][j], dist[i][k] + dist[k][j]); } } } for (int i = 1; i <= k; i++) { for (int j = 1; j <= n; j++) { if (B[1][i] == -1 || S[j][i] == -1 || dist[1][j] == INF || dist[j][1] == INF) continue; int t = dist[1][j] + dist[j][1]; int val = S[j][i] - B[1][i]; ans = max(ans, val / t); } } cout << ans << endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...