QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#442970 | #8519. Radars | ucup-team3890# | WA | 1ms | 4044kb | C++14 | 2.3kb | 2024-06-15 13:57:58 | 2024-06-15 13:57:59 |
Judging History
answer
#include <bits/stdc++.h>
#define N 504
#define INF 1000000000000000000
using namespace std;
typedef long long ll;
int T, n;
ll mx[N][N], a[N][N], prer[N], sufr[N], prec[N], sufc[N];
void clr ()
{
for (int i=0; i<=n+1; i++) {
for (int j=0; j<=n+1; j++) {
mx[i][j]=INF;
}
}
prer[0]=INF; sufr[n+1]=INF;
prec[0]=INF; sufc[n+1]=INF;
}
int main ()
{
// freopen("0test.in", "r", stdin);
// freopen("0test.out", "w", stdout);
scanf("%d", &T);
while (T--) {
scanf("%d", &n);
for (int i=1; i<=n; i++) {
for (int j=1; j<=n; j++) {
scanf("%d", &a[i][j]);
}
}
clr();
int len=(n/2);
ll res1=0, ans=INF;
for (int i=1; i<=n; i++) {
prer[i]=min(prer[i-1], a[len+1][i]);
}
for (int i=n; i>=1; i--) {
sufr[i]=min(sufr[i+1], a[len+1][i]);
}
for (int i=1; i<=n; i++) {
prec[i]=min(prec[i-1], a[i][len+1]);
}
for (int i=n; i>=1; i--) {
sufc[i]=min(sufc[i+1], a[i][len+1]);
}
ans=min(ans, prer[len+1]+sufr[len+1]);
ans=min(ans, prec[len+1]+sufc[len+1]);
for (int i=1; i<=n; i++) {
for (int j=1; j<=n; j++) {
mx[i][j]=min(a[i][j], min(mx[i-1][j], mx[i][j-1]));
}
}
res1+=mx[len+1][len+1];
ans=min(ans, mx[len+1][len+1]+sufr[len+1]+sufc[len+1]);
for (int i=n; i>=1; i--) {
for (int j=1; j<=n; j++) {
mx[i][j]=min(a[i][j], min(mx[i+1][j], mx[i][j-1]));
}
}
res1+=mx[len+1][len+1];
ans=min(ans, mx[len+1][len+1]+sufr[len+1]+prec[len+1]);
for (int i=1; i<=n; i++) {
for (int j=n; j>=1; j--) {
mx[i][j]=min(a[i][j], min(mx[i-1][j], mx[i][j+1]));
}
}
res1+=mx[len+1][len+1];
ans=min(ans, mx[len+1][len+1]+prer[len+1]+sufc[len+1]);
for (int i=n; i>=1; i--) {
for (int j=n; j>=1; j--) {
mx[i][j]=min(a[i][j], min(mx[i+1][j], mx[i][j+1]));
}
}
res1+=mx[len+1][len+1];
ans=min(ans, mx[len+1][len+1]+prer[len+1]+prec[len+1]);
ans=min(ans, res1);
ans=min(ans, a[len+1][len+1]);
printf("%lld\n", ans);
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 3936kb
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: 0
Accepted
time: 0ms
memory: 3828kb
input:
1 1 444739567
output:
444739567
result:
ok 1 number(s): "444739567"
Test #3:
score: -100
Wrong Answer
time: 1ms
memory: 4044kb
input:
32 5 177252602 814271963 432801178 401470194 888319541 320323627 34071000 116035631 87392694 926990496 423510770 515133425 777623990 140441392 853473387 976288681 925949889 930584554 939702106 761328886 840677679 912446055 378955738 997133668 334407172 3 633852912 89450314 828384045 327867173 732812...
output:
494991369 661643843 47298040 226890388 61473487 954430705 179526916 530064327 199272913 223484181 333898451 217089022 35580250 251879512 237335761 60323753 227658332 114032585 398058408 361741480 49710371 75128942 269414925 755829169 133537759 132319504 691515792 193230413 469380143 226211000 227141...
result:
wrong answer 5th numbers differ - expected: '50684672', found: '61473487'