# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
139262 | 2019-07-31T13:46:33 Z | win11905 | Travelling Merchant (APIO17_merchant) | C++11 | 98 ms | 2552 KB |
#include <bits/stdc++.h> #define long long long using namespace std; const int N = 105; const int K = 1005; const int INF = 1e9+1; int n, m, k; long b[N][K], s[N][K]; long d1[N][N], d2[N][N], cost[N][N]; void apsp(long d[N][N]) { for(int k = 1; k <= n; ++k) for(int i = 1; i <= n; ++i) for(int j = 1; j <= n; ++j) d[i][j] = min(d[i][j], d[i][k] + d[k][j]); } int main() { memset(d1, 0x3F, sizeof d1); scanf("%d %d %d", &n, &m, &k); for(int i = 1; i <= n; ++i) for(int j = 1; j <= k; ++j) scanf("%lld %lld", &b[i][j], &s[i][j]); for(int i = 1; i <= n; ++i) for(int j = 1; j <= n; ++j) for(int l = 1; l <= k; ++l) if(s[j][l] != -1 && b[i][l] != -1) cost[i][j] = max(cost[i][j], s[j][l] - b[i][l]); for(int i = 0, u, v, w; i < m; ++i) { scanf("%d %d %d", &u, &v, &w); d1[u][v] = w; } apsp(d1); long l = 0, r = 1e9; while(l < r) { long m = (l + r + 1) / 2; for(int i = 1; i <= n; ++i) for(int j = 1; j <= n; ++j) d2[i][j] = m * d1[i][j] - cost[i][j]; apsp(d2); bool st = false; for(int i = 1; i <= n; ++i) st |= d2[i][i] <= 0; if(st) l = m; else r = m-1; } printf("%lld\n", l); }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 74 ms | 2552 KB | Output is correct |
2 | Correct | 39 ms | 1272 KB | Output is correct |
3 | Correct | 40 ms | 1272 KB | Output is correct |
4 | Correct | 8 ms | 888 KB | Output is correct |
5 | Correct | 8 ms | 888 KB | Output is correct |
6 | Correct | 8 ms | 888 KB | Output is correct |
7 | Correct | 9 ms | 1016 KB | Output is correct |
8 | Correct | 2 ms | 504 KB | Output is correct |
9 | Correct | 8 ms | 892 KB | Output is correct |
10 | Correct | 8 ms | 892 KB | Output is correct |
11 | Correct | 8 ms | 888 KB | Output is correct |
12 | Correct | 2 ms | 504 KB | Output is correct |
13 | Incorrect | 9 ms | 984 KB | Output isn't correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 8 ms | 888 KB | Output is correct |
2 | Correct | 5 ms | 888 KB | Output is correct |
3 | Correct | 8 ms | 888 KB | Output is correct |
4 | Correct | 8 ms | 1016 KB | Output is correct |
5 | Correct | 9 ms | 1016 KB | Output is correct |
6 | Correct | 2 ms | 504 KB | Output is correct |
7 | Incorrect | 8 ms | 888 KB | Output isn't correct |
8 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 46 ms | 1656 KB | Output is correct |
2 | Correct | 98 ms | 2548 KB | Output is correct |
3 | Correct | 43 ms | 1528 KB | Output is correct |
4 | Correct | 46 ms | 1784 KB | Output is correct |
5 | Correct | 46 ms | 1784 KB | Output is correct |
6 | Correct | 43 ms | 1528 KB | Output is correct |
7 | Correct | 9 ms | 1016 KB | Output is correct |
8 | Correct | 2 ms | 504 KB | Output is correct |
9 | Correct | 10 ms | 1016 KB | Output is correct |
10 | Correct | 10 ms | 1016 KB | Output is correct |
11 | Incorrect | 9 ms | 1016 KB | Output isn't correct |
12 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 8 ms | 888 KB | Output is correct |
2 | Correct | 5 ms | 888 KB | Output is correct |
3 | Correct | 8 ms | 888 KB | Output is correct |
4 | Correct | 8 ms | 1016 KB | Output is correct |
5 | Correct | 9 ms | 1016 KB | Output is correct |
6 | Correct | 2 ms | 504 KB | Output is correct |
7 | Incorrect | 8 ms | 888 KB | Output isn't correct |
8 | Halted | 0 ms | 0 KB | - |