Submission details
Task:Distances
Sender:saarixx
Submission time:2026-04-17 11:29:10 +0300
Language:C++ (C++23)
Status:READY
Result:32
Feedback
subtaskverdictscore
#10
#2ACCEPTED4
#3ACCEPTED6
#40
#5ACCEPTED22
#60
Test results
testverdicttimesubtask
#10.00 s1, 4, 6details
#2ACCEPTED0.00 s1, 2, 3, 4, 5, 6details
#3ACCEPTED0.00 s1, 3, 4, 5, 6details
#4ACCEPTED0.00 s1, 2, 4, 6details
#5ACCEPTED0.00 s1, 3, 4, 5, 6details
#6ACCEPTED0.00 s1, 4, 6details
#70.00 s1, 4, 6details
#8ACCEPTED0.00 s1, 2, 4, 6details
#9ACCEPTED0.00 s1, 3, 4, 5, 6details
#10ACCEPTED0.00 s1, 4, 5, 6details
#11ACCEPTED0.00 s1, 4, 6details
#12ACCEPTED0.00 s1, 4, 6details
#130.00 s1, 4, 6details
#140.00 s1, 6details
#15ACCEPTED0.00 s1, 2, 6details
#160.00 s4, 6details
#170.00 s4, 6details
#18ACCEPTED0.00 s3, 4, 5, 6details
#19ACCEPTED0.00 s4, 5, 6details
#20ACCEPTED0.00 s4, 5, 6details
#21ACCEPTED0.00 s5, 6details
#22ACCEPTED0.00 s5, 6details
#23ACCEPTED0.00 s2, 6details
#24ACCEPTED0.00 s3, 4, 5, 6details
#25ACCEPTED0.00 s4, 5, 6details
#26ACCEPTED0.00 s4, 5, 6details
#27ACCEPTED0.00 s5, 6details
#28ACCEPTED0.00 s5, 6details
#29ACCEPTED0.00 s2, 6details
#30ACCEPTED0.00 s3, 4, 5, 6details
#31ACCEPTED0.00 s4, 5, 6details
#32ACCEPTED0.00 s4, 5, 6details
#33ACCEPTED0.00 s4, 5, 6details
#34ACCEPTED0.00 s5, 6details
#35ACCEPTED0.00 s5, 6details
#36ACCEPTED0.00 s5, 6details
#37ACCEPTED0.00 s6details
#380.00 s6details
#39ACCEPTED0.00 s2, 6details
#400.00 s6details
#410.00 s6details
#420.00 s6details
#430.00 s6details
#440.00 s6details

Code

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

random_device rd; 
mt19937 gen(rd()); 
uniform_int_distribution<> distr(100000, 1000000);

int main() {
    int n, k;
    cin >> n >> k;
    vector<int> groups;

    while (k > 0) {
        int m = 1;
        while ((m * (m - 1)) / 2 <= k) m++;
        m--;
        groups.push_back(m);
        k -= (m * (m - 1)) / 2;
    }

    int used = 0;
    for (int x : groups) used += x;
    while (used < n) {
        groups.push_back(1);
        used++;
    }


    while (true) {
      int x = 0;
      vector<pair<int,int>> ans;

      int y = 0;
      for (int g : groups) {
          x += distr(gen);
          int prev_cnt = ans.size();
          for (int i = 1; i <= g; i++) {
              bool ok = true;
              do {
                ok = true;
                y++;
                for (int j = 0; j < prev_cnt; j++) {
                  long long d = (x - ans[j].first) * (long long)(x - ans[j].first) + (y - ans[j].second) * (long long)(y - ans[j].second);
                  long long d1 = sqrt(d);
                  if (d1 * d1 == d) {
                    ok = false;
                    break;
                  }
                }
              } while (!ok);
              ans.push_back({x, y});
          }
      }
      
      // Output
      for (auto [a, b] : ans) {
          cout << a << " " << b << "\n";
      }
      break;
    }
}

Test details

Test 1

Subtask: 1, 4, 6

Verdict:

input
3 2

correct output
1 1
1 2
2 2

user output
724283 1
724283 2
1617918 3
1617918 4

Test 2

Subtask: 1, 2, 3, 4, 5, 6

Verdict: ACCEPTED

input
1 0

correct output
1 0

user output
644318 1

Test 3

Subtask: 1, 3, 4, 5, 6

Verdict: ACCEPTED

input
2 0

correct output
1 0
804289383 846930886

user output
345361 1
1176034 2

Test 4

Subtask: 1, 2, 4, 6

Verdict: ACCEPTED

input
2 1

correct output
1 0
2 0

user output
721397 1
721397 2

Test 5

Subtask: 1, 3, 4, 5, 6

Verdict: ACCEPTED

input
3 0

correct output
1 0
804289383 846930886
681692777 714636915

user output
258061 1
1045831 2
1777757 3

Test 6

Subtask: 1, 4, 6

Verdict: ACCEPTED

input
3 1

correct output
1 0
2 0
804289383 846930886

user output
493701 1
493701 2
1396474 3

Test 7

Subtask: 1, 4, 6

Verdict:

input
3 2

correct output
1 1
1 2
2 2

user output
826943 1
826943 2
1660387 3
1660387 4

Test 8

Subtask: 1, 2, 4, 6

Verdict: ACCEPTED

input
3 3

correct output
1 0
2 0
3 0

user output
392289 1
392289 2
392289 3

Test 9

Subtask: 1, 3, 4, 5, 6

Verdict: ACCEPTED

input
4 0

correct output
1 0
804289383 846930886
681692777 714636915
957747793 424238335

user output
936359 1
1300605 2
1974023 3
2305948 4

Test 10

Subtask: 1, 4, 5, 6

Verdict: ACCEPTED

input
4 1

correct output
1 0
2 0
804289383 846930886
681692777 714636915

user output
387923 1
387923 2
1006065 3
1136436 4

Test 11

Subtask: 1, 4, 6

Verdict: ACCEPTED

input
4 2

correct output
21392 0
1 0
0 510510
804289383 846930886

user output
746106 1
746106 2
971583 3
971583 4

Test 12

Subtask: 1, 4, 6

Verdict: ACCEPTED

input
4 3

correct output
1 0
2 0
3 0
804289383 846930886

user output
809154 1
809154 2
809154 3
1153971 4

Test 13

Subtask: 1, 4, 6

Verdict:

input
4 4

correct output
21392 0
1 0
2 0
0 510510

user output
743497 1
743497 2
743497 3
1320521 4
1320521 5

Test 14

Subtask: 1, 6

Verdict:

input
4 5

correct output
21392 0
22600 0
1 0
0 510510

user output
978203 1
978203 2
978203 3
1130821 4
1130821 5
...

Test 15

Subtask: 1, 2, 6

Verdict: ACCEPTED

input
4 6

correct output
1 0
2 0
3 0
4 0

user output
570639 1
570639 2
570639 3
570639 4

Test 16

Subtask: 4, 6

Verdict:

input
5 5

correct output
21392 0
22600 0
1 0
0 510510
804289383 846930886

user output
344131 1
344131 2
344131 3
742946 4
742946 5
...

Test 17

Subtask: 4, 6

Verdict:

input
6 5

correct output
21392 0
22600 0
1 0
0 510510
804289383 846930886
...

user output
104471 1
104471 2
104471 3
525428 4
525428 5
...

Test 18

Subtask: 3, 4, 5, 6

Verdict: ACCEPTED

input
98 0

correct output
1 0
804289383 846930886
681692777 714636915
957747793 424238335
719885386 649760492
...

user output
280960 1
880802 2
1554305 3
2384462 4
2864708 5
...

Test 19

Subtask: 4, 5, 6

Verdict: ACCEPTED

input
98 97

correct output
21392 0
22600 0
30056 0
34848 0
38584 0
...

user output
633100 1
633100 2
633100 3
633100 4
633100 5
...

Test 20

Subtask: 4, 5, 6

Verdict: ACCEPTED

input
98 98

correct output
21392 0
22600 0
30056 0
34848 0
38584 0
...

user output
938174 1
938174 2
938174 3
938174 4
938174 5
...

Test 21

Subtask: 5, 6

Verdict: ACCEPTED

input
98 1185

correct output
21392 0
22600 0
30056 0
34848 0
38584 0
...

user output
139569 1
139569 2
139569 3
139569 4
139569 5
...

Test 22

Subtask: 5, 6

Verdict: ACCEPTED

input
98 1188

correct output
21392 0
22600 0
30056 0
34848 0
38584 0
...

user output
943130 1
943130 2
943130 3
943130 4
943130 5
...

Test 23

Subtask: 2, 6

Verdict: ACCEPTED

input
98 4753

correct output
1 0
2 0
3 0
4 0
5 0
...

user output
492452 1
492452 2
492452 3
492452 4
492452 5
...

Test 24

Subtask: 3, 4, 5, 6

Verdict: ACCEPTED

input
99 0

correct output
1 0
804289383 846930886
681692777 714636915
957747793 424238335
719885386 649760492
...

user output
569725 1
763938 2
1595515 3
2092806 4
2457635 5
...

Test 25

Subtask: 4, 5, 6

Verdict: ACCEPTED

input
99 98

correct output
21392 0
22600 0
30056 0
34848 0
38584 0
...

user output
271877 1
271877 2
271877 3
271877 4
271877 5
...

Test 26

Subtask: 4, 5, 6

Verdict: ACCEPTED

input
99 99

correct output
21392 0
22600 0
30056 0
34848 0
38584 0
...

user output
525365 1
525365 2
525365 3
525365 4
525365 5
...

Test 27

Subtask: 5, 6

Verdict: ACCEPTED

input
99 1201

correct output
21392 0
22600 0
30056 0
34848 0
38584 0
...

user output
298742 1
298742 2
298742 3
298742 4
298742 5
...

Test 28

Subtask: 5, 6

Verdict: ACCEPTED

input
99 1212

correct output
21392 0
22600 0
30056 0
34848 0
38584 0
...

user output
229257 1
229257 2
229257 3
229257 4
229257 5
...

Test 29

Subtask: 2, 6

Verdict: ACCEPTED

input
99 4851

correct output
1 0
2 0
3 0
4 0
5 0
...

user output
621695 1
621695 2
621695 3
621695 4
621695 5
...

Test 30

Subtask: 3, 4, 5, 6

Verdict: ACCEPTED

input
100 0

correct output
1 0
804289383 846930886
681692777 714636915
957747793 424238335
719885386 649760492
...

user output
119301 1
761030 2
1172467 3
1461412 4
1584300 5
...

Test 31

Subtask: 4, 5, 6

Verdict: ACCEPTED

input
100 1

correct output
1 0
2 0
804289383 846930886
681692777 714636915
957747793 424238335
...

user output
852466 1
852466 2
1223290 3
2192099 4
2991397 5
...

Test 32

Subtask: 4, 5, 6

Verdict: ACCEPTED

input
100 5

correct output
21392 0
22600 0
1 0
0 510510
804289383 846930886
...

user output
849603 1
849603 2
849603 3
1389641 4
1389641 5
...

Test 33

Subtask: 4, 5, 6

Verdict: ACCEPTED

input
100 100

correct output
21392 0
22600 0
30056 0
34848 0
38584 0
...

user output
968657 1
968657 2
968657 3
968657 4
968657 5
...

Test 34

Subtask: 5, 6

Verdict: ACCEPTED

input
100 1000

correct output
21392 0
22600 0
30056 0
34848 0
38584 0
...

user output
846129 1
846129 2
846129 3
846129 4
846129 5
...

Test 35

Subtask: 5, 6

Verdict: ACCEPTED

input
100 1232

correct output
21392 0
22600 0
30056 0
34848 0
38584 0
...

user output
559729 1
559729 2
559729 3
559729 4
559729 5
...

Test 36

Subtask: 5, 6

Verdict: ACCEPTED

input
100 1237

correct output
21392 0
22600 0
30056 0
34848 0
38584 0
...

user output
335189 1
335189 2
335189 3
335189 4
335189 5
...

Test 37

Subtask: 6

Verdict: ACCEPTED

input
100 2222

correct output
21392 0
22600 0
30056 0
34848 0
38584 0
...

user output
331615 1
331615 2
331615 3
331615 4
331615 5
...

Test 38

Subtask: 6

Verdict:

input
100 3395

correct output
21392 0
22600 0
30056 0
34848 0
38584 0
...

user output
581626 1
581626 2
581626 3
581626 4
581626 5
...

Test 39

Subtask: 2, 6

Verdict: ACCEPTED

input
100 4950

correct output
1 0
2 0
3 0
4 0
5 0
...

user output
535897 1
535897 2
535897 3
535897 4
535897 5
...

Test 40

Subtask: 6

Verdict:

input
100 4949

correct output
21392 0
22600 0
30056 0
34848 0
38584 0
...

user output
215001 1
215001 2
215001 3
215001 4
215001 5
...

Test 41

Subtask: 6

Verdict:

input
100 4948

correct output
21392 0
22600 0
30056 0
34848 0
38584 0
...

user output
347873 1
347873 2
347873 3
347873 4
347873 5
...

Test 42

Subtask: 6

Verdict:

input
100 4930

correct output
21392 0
22600 0
30056 0
34848 0
38584 0
...

user output
521710 1
521710 2
521710 3
521710 4
521710 5
...

Test 43

Subtask: 6

Verdict:

input
100 4920

correct output
21392 0
22600 0
30056 0
34848 0
38584 0
...

user output
630685 1
630685 2
630685 3
630685 4
630685 5
...

Test 44

Subtask: 6

Verdict:

input
100 4900

correct output
21392 0
22600 0
30056 0
34848 0
38584 0
...

user output
217807 1
217807 2
217807 3
217807 4
217807 5
...