QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#834305 | #8519. Radars | suo | WA | 1ms | 3668kb | C++20 | 1.3kb | 2024-12-27 15:07:06 | 2024-12-27 15:07:07 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
int n;
vector<vector<int>> a;
int getmin(int l, int r, int u, int d) {
int res = 1 << 30;
for (int i = l; i < r; i++) {
for (int j = u; j < d; j++) {
res = min(res, a[j][i]);
}
}
return res;
}
void solve() {
int n;
cin >> n;
a.resize(n);
for (int i = 0; i < n; i++) {
a[i].resize(n);
for (int j = 0; j < n; j++) {
cin >> a[i][j];
}
}
int q1 = getmin(0, n / 2, 0, n / 2);
int q2 = getmin(n / 2 + 1, n, 0, n / 2);
int q3 = getmin(0, n / 2, n / 2 + 1, n);
int q4 = getmin(n / 2 + 1, n, n / 2 + 1, n);
int m1 = getmin(n / 2, n / 2 + 1, 0, n / 2);
int m2 = getmin(0, n / 2, n / 2, n / 2 + 1);
int m3 = getmin(n / 2, n / 2 + 1, n / 2 + 1, n);
int m4 = getmin(n / 2 + 1, n, n / 2, n / 2 + 1);
int q = a[n / 2][n / 2];
int upmin = min(min(q1, m2) + min(q2, m4), m1);
int dwmin = min(min(q3, m2) + min(q4, m4), m3);
int lmin = min(min(q1, m1) + min(q3, m3), m2);
int rmin = min(min(q2, m2) + min(q4, m3), m4);
int ans = min(a[n / 2][n / 2], min(upmin + dwmin, lmin + rmin));
cout << ans << endl;
}
int main() {
int t;
cin >> t;
while (t > 0) {
t--;
solve();
}
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 3668kb
input:
2 3 1 1 1 1 1 1 1 1 1 5 8 5 2 8 3 5 6 9 7 3 7 8 9 1 4 8 9 4 5 5 2 8 6 9 3
output:
1 5
result:
ok 2 number(s): "1 5"
Test #2:
score: -100
Wrong Answer
time: 0ms
memory: 3624kb
input:
1 1 444739567
output:
0
result:
wrong answer 1st numbers differ - expected: '444739567', found: '0'