Submission details
Task:Retkeily
Sender:MikaelM
Submission time:2025-06-04 12:12:03 +0300
Language:C++ (C++17)
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
#40
Test results
testverdicttimegroup
#1ACCEPTED0.05 s1, 2, 3, 4details
#20.05 s1, 2, 3, 4details
#30.05 s1, 2, 3, 4details
#40.06 s1, 2, 3, 4details
#50.06 s1, 2, 3, 4details
#60.05 s1, 2, 4details
#70.06 s1, 2, 4details
#80.06 s1, 2, 3, 4details
#90.06 s1, 2, 4details
#100.06 s1, 2, 3, 4details
#110.05 s1, 2, 4details
#120.06 s1, 2, 4details
#130.06 s1, 2, 4details
#140.06 s1, 2, 4details
#150.06 s1, 2, 4details
#160.08 s2, 4details
#170.08 s2, 4details
#180.10 s2, 4details
#190.32 s2, 3, 4details
#200.28 s2, 4details
#210.50 s2, 3, 4details
#220.06 s1, 3, 4details
#230.05 s1, 3, 4details
#240.05 s3, 4details
#250.05 s3, 4details
#260.06 s3, 4details
#270.05 s3, 4details
#280.05 s3, 4details
#290.05 s1, 4details
#300.06 s1, 4details
#310.05 s1, 4details
#320.05 s1, 4details
#330.06 s1, 4details
#340.06 s1, 4details
#350.05 s1, 4details
#360.06 s1, 4details
#370.05 s4details
#380.05 s4details
#390.05 s4details
#400.05 s4details
#410.27 s4details

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:62:28: warning: iteration 2047 invokes undefined behavior [-Waggressive-loop-optimizations]
   62 |                 p[i][j][k] = 1e9;
      |                 ~~~~~~~~~~~^~~~~
input/code.cpp:60:27: note: within this loop
   60 |         for (int j = 1; j <= 2*N; j++) {
      |                         ~~^~~~~~

Code

#include<bits/stdc++.h>
using namespace std;
#define all(x) x.begin(),x.end()
#define rall(x) x.rbegin(),x.rend()
#define fi first
#define se second
using ll = long long;
 
const int N = 1 << 10;
 
int p[2*N][2*N][4];
/*
0 = l --> r, above
1 = l --> r, below
2 = r --> l, above
3 = r --> l, below
*/
 
void muuta_x(int y, int x, int u, int z) {
    p[y][x][z] = u;
    for (x /= 2; x >= 1; x /= 2) p[y][x][z] = min(p[y][2*x][z], p[y][2*x+1][z]);
}
 
void muuta_y(int y, int x, int u, int z) {
    y += N; x += N;
    muuta_x(y, x, u, z);
    for (y /= 2; y >= 1; y /= 2) muuta_x(y, x, min(p[2*y][x][z], p[2*y+1][x][z]), z);
}
 
int minimi_x(int y, int a, int b, int z) {
    int ans = 1e9;
    while (a <= b) {
        if (a % 2 == 1) ans = min(ans, p[y][a++][z]);
        if (b % 2 == 0) ans = min(ans, p[y][b--][z]);
        a /= 2; b /= 2;
    }
    return ans;
}
 
int minimi_y(int y1, int x1, int y2, int x2, int z) {
    y1 += N; x1 += N; y2 += N; x2 += N;
    int ans = 1e9;
    while (y1 <= y2) {
        if (y1 % 2 == 1) ans = min(ans, minimi_x(y1++, x1, x2, z));
        if (y2 % 2 == 0) ans = min(ans, minimi_x(y2--, x1, x2, z));
        y1 /= 2; y2 /= 2;
    }
    if (ans == 1e9) return -1e9;
    return ans;
}
 
int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    
    int n, m;
    cin >> n >> m;

    for (int i = 1; i <= 2*N; i++) {
        for (int j = 1; j <= 2*N; j++) {
            for (int k = 0; k < 4; k++) {
                p[i][j][k] = 1e9;
            }
        }
    }

    for (int i = 1; i <= n; i++) {
        int y, x;
        cin >> y >> x;
        muuta_y(y, x, -x-y, 0);
        muuta_y(y, x, -x+y, 1);
        muuta_y(y, x, x-y, 2);
        muuta_y(y, x, x+y, 3);
    }

    int ans = 0;
    for (int i = 1; i <= m; i++) {
        int y, x;
        cin >> y >> x;
        ans = max(ans, x+y + minimi_y(1, 1, y, x, 0));
        ans = max(ans, x-y + minimi_y(1000, 1, y, x, 1));
        ans = max(ans, -x+y + minimi_y(y, x, 1000, 1000, 2));
        ans = max(ans, -x-y + minimi_y(y, x, 1, 1000, 3));
    }

    cout << ans << "\n";
    
    return 0;
}

Test details

Test 1

Group: 1, 2, 3, 4

Verdict: ACCEPTED

input
1 1
6 6
8 9

correct output
5

user output
5

Test 2

Group: 1, 2, 3, 4

Verdict:

input
5 5
5 10
8 10
1 2
4 10
...

correct output
4

user output
10

Test 3

Group: 1, 2, 3, 4

Verdict:

input
10 10
5 2
1 10
6 10
5 5
...

correct output
5

user output
8

Test 4

Group: 1, 2, 3, 4

Verdict:

input
10 5
6 1
8 9
3 2
6 6
...

correct output
3

user output
5

Test 5

Group: 1, 2, 3, 4

Verdict:

input
5 10
10 10
6 2
10 9
8 7
...

correct output
7

user output
6

Test 6

Group: 1, 2, 4

Verdict:

input
1 1
55 68
28 42

correct output
53

user output
0

Test 7

Group: 1, 2, 4

Verdict:

input
100 100
52 56
58 96
3 99
18 1
...

correct output
20

user output
52

Test 8

Group: 1, 2, 3, 4

Verdict:

input
1000 100
60 40
68 47
30 32
74 52
...

correct output
5

user output
8

Test 9

Group: 1, 2, 4

Verdict:

input
100 1000
44 26
18 81
18 6
83 90
...

correct output
20

user output
88

Test 10

Group: 1, 2, 3, 4

Verdict:

input
1000 1000
15 13
23 79
81 43
30 40
...

correct output
7

user output
41

Test 11

Group: 1, 2, 4

Verdict:

input
1 1
948 495
227 149

correct output
1067

user output
0

Test 12

Group: 1, 2, 4

Verdict:

input
100 100
114 530
748 841
612 709
810 232
...

correct output
203

user output
684

Test 13

Group: 1, 2, 4

Verdict:

input
1000 100
225 82
265 691
978 367
993 396
...

correct output
50

user output
104

Test 14

Group: 1, 2, 4

Verdict:

input
100 1000
848 668
189 716
451 80
626 973
...

correct output
192

user output
741

Test 15

Group: 1, 2, 4

Verdict:

input
1000 1000
931 656
382 809
666 609
1000 923
...

correct output
66

user output
313

Test 16

Group: 2, 4

Verdict:

input
10000 1000
961 158
561 313
991 125
821 964
...

correct output
18

user output
203

Test 17

Group: 2, 4

Verdict:

input
1000 10000
428 1000
485 958
46 915
582 127
...

correct output
67

user output
614

Test 18

Group: 2, 4

Verdict:

input
10000 10000
503 849
367 829
448 926
362 512
...

correct output
22

user output
381

Test 19

Group: 2, 3, 4

Verdict:

input
100000 10000
111 705
808 24
69 858
961 122
...

correct output
7

user output
48

Test 20

Group: 2, 4

Verdict:

input
10000 100000
844 874
339 315
819 918
627 936
...

correct output
27

user output
590

Test 21

Group: 2, 3, 4

Verdict:

input
100000 100000
100 468
303 899
784 458
505 54
...

correct output
8

user output
61

Test 22

Group: 1, 3, 4

Verdict:

input
10 10
451219 220496
369161 161920
241139 700531
811276 993633
...

correct output
10

user output
(empty)

Test 23

Group: 1, 3, 4

Verdict:

input
1000 1000
337358 113599
674585 852084
717817 983395
895431 391144
...

correct output
10

user output
(empty)

Test 24

Group: 3, 4

Verdict:

input
10000 10000
636432 664736
341727 37864
469264 360610
545785 879043
...

correct output
10

user output
(empty)

Test 25

Group: 3, 4

Verdict:

input
100000 100000
750315 55215
550921 465416
435380 742666
288479 495099
...

correct output
7

user output
(empty)

Test 26

Group: 3, 4

Verdict:

input
100000 100000
416825 677767
347155 162523
602643 936386
181956 517732
...

correct output
8

user output
(empty)

Test 27

Group: 3, 4

Verdict:

input
100000 100000
155202 457283
421100 55104
604625 136495
841749 569346
...

correct output
9

user output
(empty)

Test 28

Group: 3, 4

Verdict:

input
100000 100000
290146 808578
489810 268578
956361 635214
939844 534435
...

correct output
10

user output
(empty)

Test 29

Group: 1, 4

Verdict:

input
10 10
668880 791821
226050 188133
859493 736633
290460 838926
...

correct output
342068

user output
(empty)

Test 30

Group: 1, 4

Verdict:

input
100 100
729367 697755
338457 742774
535371 701216
93743 555995
...

correct output
285526

user output
(empty)

Test 31

Group: 1, 4

Verdict:

input
100 1000
50870 539657
476809 462765
311713 355546
901838 829393
...

correct output
255789

user output
(empty)

Test 32

Group: 1, 4

Verdict:

input
1000 100
182415 659794
581623 510256
594984 525993
367726 938015
...

correct output
50501

user output
(empty)

Test 33

Group: 1, 4

Verdict:

input
1000 1000
668976 422918
350791 933024
893307 88057
278098 13847
...

correct output
57897

user output
(empty)

Test 34

Group: 1, 4

Verdict:

input
1000 1000
701742 116334
278337 368995
187245 133297
273083 369187
...

correct output
60537

user output
(empty)

Test 35

Group: 1, 4

Verdict:

input
10 10
693836 74759
61731 520849
666762 45364
559335 979511
...

correct output
417182

user output
(empty)

Test 36

Group: 1, 4

Verdict:

input
1000 1000
207572 43521
513003 683552
58800 253576
16541 558695
...

correct output
69609

user output
(empty)

Test 37

Group: 4

Verdict:

input
10000 10000
89066 605574
504488 66068
959128 348414
68004 849599
...

correct output
22936

user output
(empty)

Test 38

Group: 4

Verdict:

input
100000 100000
20824 214259
463783 904059
603615 769692
789080 399093
...

correct output
8070

user output
(empty)

Test 39

Group: 4

Verdict:

input
100000 100000
811424 464350
336948 946495
204883 914446
171888 431769
...

correct output
8240

user output
(empty)

Test 40

Group: 4

Verdict:

input
100000 100000
850810 902354
292608 63461
223139 188900
197760 995048
...

correct output
7769

user output
(empty)

Test 41

Group: 4

Verdict:

input
100000 100000
1 1
1 2
1 3
1 4
...

correct output
1899999

user output
(empty)