Submission details
Task:Zig Zag
Sender:aalto25k_002
Submission time:2025-11-12 17:41:14 +0200
Language:C++ (C++17)
Status:READY
Result:
Test results
testverdicttime
#1ACCEPTED0.00 sdetails
#2ACCEPTED0.00 sdetails
#3ACCEPTED0.00 sdetails
#4ACCEPTED0.00 sdetails
#5ACCEPTED0.00 sdetails
#6ACCEPTED0.00 sdetails
#7ACCEPTED0.00 sdetails
#8ACCEPTED0.00 sdetails
#90.00 sdetails
#10ACCEPTED0.00 sdetails
#11ACCEPTED0.00 sdetails
#12ACCEPTED0.00 sdetails
#13ACCEPTED0.00 sdetails
#140.00 sdetails
#150.00 sdetails
#160.00 sdetails
#17ACCEPTED0.00 sdetails
#18ACCEPTED0.00 sdetails
#190.00 sdetails
#200.00 sdetails
#21ACCEPTED0.00 sdetails
#220.00 sdetails
#230.00 sdetails
#240.00 sdetails
#25ACCEPTED0.00 sdetails
#260.00 sdetails
#27ACCEPTED0.00 sdetails
#280.00 sdetails
#290.00 sdetails
#300.00 sdetails
#310.00 sdetails
#32ACCEPTED0.00 sdetails
#330.00 sdetails
#340.00 sdetails
#350.00 sdetails
#360.00 sdetails
#370.00 sdetails
#380.00 sdetails
#390.00 sdetails
#400.00 sdetails
#410.00 sdetails
#420.00 sdetails
#430.00 sdetails
#440.00 sdetails
#450.00 sdetails
#460.00 sdetails
#470.00 sdetails
#480.00 sdetails
#490.01 sdetails
#500.01 sdetails
#510.01 sdetails
#520.01 sdetails
#530.01 sdetails
#540.01 sdetails
#550.01 sdetails
#560.01 sdetails
#570.01 sdetails
#580.01 sdetails
#590.03 sdetails
#600.03 sdetails
#610.03 sdetails
#620.03 sdetails
#630.03 sdetails
#640.10 sdetails
#650.11 sdetails
#660.10 sdetails
#670.11 sdetails
#680.10 sdetails

Code

#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef vector<ll> vl;
typedef pair<ll,ll> pl;


typedef long double C;
typedef complex<C> P;
#define X real()
#define Y imag()

#define sz(x) (ll)(x).size()

#define F first
#define S second
#define PB push_back
#define MP make_pair

#define REP(i,a,b) for (ll i = a; i < b; i++)

long double distance_point(P a, P b) {
    return abs(a-b);
}

int main() {
    ll n;
    cin >> n;

    P points[n];
    long double x, y;
    REP(i,0,n) {
        cin >> x >> y;

        P p = {x,y};
        points[i]= p;
        //points[i].Y = y;
    }

    vector<ll> output;
    bool visited[n] = {false};

    output.push_back(1);

    ll next = 1;
    ll left = n;
    while(left > 0) {
        ll max_dist = 0;
        visited[next] = true;

        REP(j,0,n) {
            if(visited[j]) continue;

            if(max_dist < distance_point(points[next], points[j])) {
                max_dist = distance_point(points[next], points[j]);
                next = j;
            }
        }

        output.push_back(next);
        left-=1;
    }


    REP(i,0,n) {
        cout << output[i]+1 << " ";
    }

    
}

Test details

Test 1

Verdict: ACCEPTED

input
2
2 5
8 9

correct output
1 2 

user output
2 1 

Test 2

Verdict: ACCEPTED

input
3
3 9
8 7
9 9

correct output
1 3 2 

user output
2 3 1 

Test 3

Verdict: ACCEPTED

input
3
6 10
8 7
9 4

correct output
1 3 2 

user output
2 3 1 

Test 4

Verdict: ACCEPTED

input
3
1 2
2 6
9 9

correct output
1 3 2 

user output
2 3 1 

Test 5

Verdict: ACCEPTED

input
3
3 4
6 1
6 4

correct output
1 2 3 

user output
2 1 3 

Test 6

Verdict: ACCEPTED

input
3
2 9
3 2
6 9

correct output
1 2 3 

user output
2 1 3 

Test 7

Verdict: ACCEPTED

input
4
2 10
6 5
7 1
9 3

correct output
1 3 2 4 

user output
2 3 1 4 

Test 8

Verdict: ACCEPTED

input
4
1 5
2 3
3 8
8 5

correct output
1 4 2 3 

user output
2 4 1 3 

Test 9

Verdict:

input
4
2 7
5 4
7 3
10 1

correct output
1 4 2 3 

user output
2 3 4 1 

Test 10

Verdict: ACCEPTED

input
4
1 5
4 3
4 8
10 3

correct output
1 4 3 2 

user output
2 4 1 3 

Test 11

Verdict: ACCEPTED

input
4
1 9
4 7
4 8
5 5

correct output
1 4 3 2 

user output
2 4 1 3 

Test 12

Verdict: ACCEPTED

input
4
1 6
3 2
4 9
9 4

correct output
1 4 3 2 

user output
2 4 1 3 

Test 13

Verdict: ACCEPTED

input
4
3 1
5 10
6 3
9 8

correct output
1 2 3 4 

user output
2 4 1 3 

Test 14

Verdict:

input
4
1 7
6 6
8 6
9 3

correct output
1 4 2 3 

user output
2 3 4 1 

Test 15

Verdict:

input
4
4 10
6 1
7 4
9 3

correct output
1 2 4 3 

user output
2 1 3 4 

Test 16

Verdict:

input
4
1 9
6 4
7 3
8 3

correct output
1 4 2 3 

user output
2 3 4 1 

Test 17

Verdict: ACCEPTED

input
4
1 2
6 10
7 3
10 5

correct output
1 4 2 3 

user output
2 4 1 3 

Test 18

Verdict: ACCEPTED

input
4
4 7
9 5
9 9
10 5

correct output
1 4 3 2 

user output
2 3 4 1 

Test 19

Verdict:

input
5
5 7
6 6
6 9
7 9
...

correct output
1 5 2 4 3 

user output
2 3 4 5 1 

Test 20

Verdict:

input
5
1 2
2 3
4 10
5 10
...

correct output
1 5 2 4 3 

user output
2 3 4 5 1 

Test 21

Verdict: ACCEPTED

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

correct output
1 2 5 3 4 

user output
2 1 3 5 4 

Test 22

Verdict:

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

correct output
1 4 2 3 5 

user output
2 3 4 1 5 

Test 23

Verdict:

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

correct output
1 5 2 4 3 

user output
2 3 4 5 1 

Test 24

Verdict:

input
5
3 1
3 4
5 1
9 9
...

correct output
1 5 3 4 2 

user output
2 4 5 1 3 

Test 25

Verdict: ACCEPTED

input
5
1 4
2 10
4 3
9 1
...

correct output
1 5 4 2 3 

user output
2 5 1 4 3 

Test 26

Verdict:

input
5
1 3
5 10
8 4
8 5
...

correct output
1 5 2 3 4 

user output
2 5 1 3 4 

Test 27

Verdict: ACCEPTED

input
5
3 5
6 9
9 1
9 4
...

correct output
1 5 2 3 4 

user output
2 3 5 1 4 

Test 28

Verdict:

input
5
1 4
2 1
2 4
5 1
...

correct output
1 5 2 3 4 

user output
2 4 5 1 3 

Test 29

Verdict:

input
10
4 5
5 3
5 7
6 6
...

correct output
1 9 5 10 7 2 8 6 3 4 

user output
2 9 10 1 8 7 6 3 5 4 

Test 30

Verdict:

input
10
1 2
1 4
2 3
2 4
...

correct output
1 10 2 8 3 6 4 9 7 5 

user output
2 8 6 9 10 1 5 3 7 4 

Test 31

Verdict:

input
10
1 10
3 5
3 7
4 2
...

correct output
1 9 8 4 10 5 3 6 2 7 

user output
2 9 1 8 10 4 5 3 6 7 

Test 32

Verdict: ACCEPTED

input
10
1 1
2 1
3 2
3 3
...

correct output
1 8 2 10 3 9 5 6 7 4 

user output
2 9 8 1 6 5 10 3 7 4 

Test 33

Verdict:

input
10
1 7
3 2
3 10
5 7
...

correct output
1 8 3 5 10 2 9 4 7 6 

user output
2 9 8 10 1 7 5 3 4 6 

Test 34

Verdict:

input
10
2 9
3 1
3 4
3 10
...

correct output
1 5 10 2 9 3 4 8 6 7 

user output
2 9 10 5 1 7 8 4 3 6 

Test 35

Verdict:

input
10
1 4
2 10
4 3
4 5
...

correct output
1 10 6 2 9 8 3 7 4 5 

user output
2 10 1 9 8 3 7 6 4 5 

Test 36

Verdict:

input
10
1 3
1 5
3 1
5 6
...

correct output
1 10 2 8 5 3 9 6 4 7 

user output
2 6 5 10 1 4 8 9 3 7 

Test 37

Verdict:

input
10
1 7
3 5
5 5
5 8
...

correct output
1 8 5 10 2 9 7 6 4 3 

user output
2 6 8 1 9 10 3 4 5 7 

Test 38

Verdict:

input
10
1 4
2 1
2 4
3 2
...

correct output
1 10 5 7 3 9 2 6 4 8 

user output
2 7 8 10 1 5 3 6 9 4 

Test 39

Verdict:

input
100
5041736 157240647
20175393 348043754
21461600 42077569
21590319 177103472
...

correct output
1 95 3 98 4 99 10 81 29 7 96 8...

user output
2 95 1 73 29 91 54 93 60 96 61...

Test 40

Verdict:

input
100
122816 137572579
3081988 829722338
16987929 288837678
20795114 89789519
...

correct output
1 94 4 90 14 97 21 96 3 99 8 9...

user output
2 93 61 72 73 77 78 88 90 94 1...

Test 41

Verdict:

input
100
13977261 381987546
27435119 390118206
27838076 590195590
29208319 801689376
...

correct output
1 100 9 94 14 77 12 99 2 97 7 ...

user output
2 94 100 1 80 93 3 87 91 4 89 ...

Test 42

Verdict:

input
100
24822301 241650433
25750352 822299809
32079340 156090008
55262494 100450154
...

correct output
1 100 4 99 3 87 11 77 12 64 20...

user output
2 51 62 74 92 98 64 77 87 99 1...

Test 43

Verdict:

input
100
5539596 212262730
9648746 657694080
20427661 42713839
23212898 52113136
...

correct output
1 94 3 91 4 88 7 81 14 75 28 6...

user output
2 40 59 62 69 75 81 88 91 94 1...

Test 44

Verdict:

input
100
1763267 741881723
6157975 278203924
21895078 521944783
24624220 604717980
...

correct output
1 100 16 97 24 77 23 94 15 70 ...

user output
2 77 97 100 1 73 78 82 85 86 9...

Test 45

Verdict:

input
100
39308105 838098679
44426603 836947476
51198751 708680148
63176060 437557708
...

correct output
1 99 2 96 5 100 3 97 11 71 25 ...

user output
2 99 1 58 43 61 62 66 67 69 70...

Test 46

Verdict:

input
100
26735342 806125341
42569672 497138595
70798611 724056782
77364316 450297483
...

correct output
1 97 6 100 3 98 10 94 25 78 41...

user output
2 87 78 94 97 1 34 39 41 69 72...

Test 47

Verdict:

input
100
8921056 150015577
14394691 72903212
22850648 457512559
27825976 466880371
...

correct output
1 81 5 99 2 83 11 54 96 12 88 ...

user output
2 81 1 41 88 93 96 3 44 56 63 ...

Test 48

Verdict:

input
100
4900393 476861950
8745675 461759249
11139168 391337048
37347058 286446807
...

correct output
1 97 6 87 24 84 17 93 25 94 5 ...

user output
2 52 84 87 96 97 1 55 82 83 89...

Test 49

Verdict:

input
200
5041736 157240647
12577900 821317682
20175393 348043754
21461600 42077569
...

correct output
1 186 4 183 15 195 5 196 20 19...

user output
2 146 178 183 186 1 180 185 18...

Test 50

Verdict:

input
200
122816 137572579
3081988 829722338
8592846 688876470
16987929 288837678
...

correct output
1 186 6 200 9 182 31 177 29 19...

user output
2 185 137 143 144 158 177 182 ...

Test 51

Verdict:

input
200
5007418 457386905
9071363 177024747
11005899 132698
13977261 381987546
...

correct output
1 197 3 180 5 195 6 199 19 166...

user output
2 197 1 158 162 168 110 135 13...

Test 52

Verdict:

input
200
24822301 241650433
25750352 822299809
27410345 98925543
32079340 156090008
...

correct output
1 198 5 187 3 197 6 170 19 151...

user output
2 194 130 139 149 151 166 170 ...

Test 53

Verdict:

input
200
4210032 63222017
5539596 212262730
9648746 657694080
17149028 626575097
...

correct output
1 191 6 186 7 181 13 159 11 16...

user output
2 191 1 131 166 192 196 3 134 ...

Test 54

Verdict:

input
200
1763267 741881723
6157975 278203924
13795513 320861635
21895078 521944783
...

correct output
1 200 28 182 41 187 40 192 18 ...

user output
2 191 145 182 187 200 1 134 15...

Test 55

Verdict:

input
200
8476925 141485410
8505126 166581265
12461681 74039645
15361440 452562087
...

correct output
1 192 3 196 18 186 2 177 28 18...

user output
2 198 119 128 151 155 170 177 ...

Test 56

Verdict:

input
200
1991410 698069978
7670036 191583196
8822402 685559485
11360091 77004696
...

correct output
1 198 6 192 14 199 7 200 3 194...

user output
2 174 183 193 143 161 187 192 ...

Test 57

Verdict:

input
200
4472345 555680129
7737822 978991670
8921056 150015577
14394691 72903212
...

correct output
1 191 2 188 24 177 22 200 8 18...

user output
2 158 188 191 1 160 153 165 16...

Test 58

Verdict:

input
200
366794 310416436
4900393 476861950
8745675 461759249
11139168 391337048
...

correct output
1 197 13 193 7 187 39 172 32 1...

user output
2 167 172 187 193 197 1 173 18...

Test 59

Verdict:

input
1000
4982121 854709206
5051980 969850608
6610770 110841534
7756396 54539209
...

correct output
1 933 2 989 10 938 11 977 45 9...

user output
2 870 933 1 938 661 678 750 78...

Test 60

Verdict:

input
1000
692639 597387122
870901 527592476
3407540 258414659
3706190 578214810
...

correct output
1 987 30 901 17 997 81 942 82 ...

user output
2 981 901 956 987 1 843 742 78...

Test 61

Verdict:

input
1000
52022 846049438
151015 375423447
798369 995844330
1351954 659601047
...

correct output
1 997 3 944 28 957 6 998 23 90...

user output
2 944 957 997 1 670 759 761 78...

Test 62

Verdict:

input
1000
1296052 600889338
1645696 768715355
2692564 473274745
3499475 38421523
...

correct output
1 991 59 989 9 958 13 954 80 9...

user output
2 810 822 866 900 915 916 931 ...

Test 63

Verdict:

input
1000
1126577 499684443
1256131 518722321
5616399 179078305
7506590 750644416
...

correct output
1 993 32 934 82 982 65 913 29 ...

user output
2 799 838 934 957 982 993 1 80...

Test 64

Verdict:

input
2000
40804 71218080
59095 459895029
423473 9299604
685308 815211163
...

correct output
1 1989 3 1970 60 1943 34 1941 ...

user output
2 1783 1850 1860 1890 1914 194...

Test 65

Verdict:

input
2000
1408858 277110806
2161135 364884754
2812466 979975883
4200717 277590999
...

correct output
1 1975 45 1898 108 1892 134 19...

user output
2 1864 1720 1823 1848 1856 189...

Test 66

Verdict:

input
2000
1709459 406796814
1857492 878587442
2005566 168482214
3426573 973328677
...

correct output
1 2000 31 1928 12 1994 41 1940...

user output
2 1784 1835 1851 1884 1890 191...

Test 67

Verdict:

input
2000
554335 614887580
2154289 832986059
2227123 110013552
2614185 311227898
...

correct output
1 1977 10 1981 33 1908 34 1978...

user output
2 1830 1840 1851 1908 1977 1 1...

Test 68

Verdict:

input
2000
890991 100455230
1036021 428733862
1938719 436899661
2001873 863975225
...

correct output
1 1998 24 1999 48 1994 53 1950...

user output
2 1998 1 1434 1999 3 1508 1516...