QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#848685 | #9960. Baggage | rgnerdplayer | WA | 1ms | 3496kb | C++23 | 1.9kb | 2025-01-09 03:02:16 | 2025-01-09 03:02:16 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
using i64 = long long;
int main() {
cin.tie(nullptr)->sync_with_stdio(false);
auto solve = [&]() {
int n, m;
cin >> n >> m;
constexpr i64 inf = 1e18;
vector f(3, vector(n, vector<i64>(n, inf)));
for (int i = 0; i < 3; i++) {
for (int j = 0; j < n; j++) {
f[i][j][j] = 0;
}
}
for (int i = 0; i < m; i++) {
int a, b, c, d;
cin >> a >> b >> c >> d;
a--, b--;
for (int j = 0; j <= d; j++) {
f[j][a][b] = min<i64>(f[j][a][b], c);
}
}
for (int k = 0; k < n; k++) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
f[0][i][j] = min(f[0][i][j], f[0][i][k] + f[0][k][j]);
}
}
}
for (int k = 0; k < n; k++) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
f[1][i][j] = min(f[1][i][j], f[1][i][k] + f[0][k][j]);
}
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
f[2][i][j] = min(f[2][i][j], 2 * f[1][i][j] + f[0][j][i]);
}
}
for (int k = 0; k < n; k++) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
f[2][i][j] = min(f[2][i][j], f[2][i][k] + f[2][k][j]);
}
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
i64 ans = f[2][i][j];
if (ans == inf) {
ans = -1;
}
cout << ans << " \n"[j + 1 == n];
}
}
};
solve();
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 0
Wrong Answer
time: 1ms
memory: 3496kb
input:
5 7 1 2 500 2 2 3 100 1 3 5 20 2 5 4 5 1 4 2 1 0 3 4 40 2 5 4 77 1
output:
0 500 726 751 746 -1 0 226 251 246 -1 152 0 40 20 -1 127 227 0 247 -1 132 232 131 0
result:
wrong answer 12th numbers differ - expected: '-1', found: '152'