Submission details
Task:Distances
Sender:saarixx
Submission time:2026-04-17 11:50:26 +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 += 10000;
          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 = sqrtl(d);
                  if (d1 * d1 == d || (d1 + 1) * (d1 + 1) == 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
10000 1
10000 2
20000 3
20000 4

Test 2

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

Verdict: ACCEPTED

input
1 0

correct output
1 0

user output
10000 1

Test 3

Subtask: 1, 3, 4, 5, 6

Verdict: ACCEPTED

input
2 0

correct output
1 0
804289383 846930886

user output
10000 1
20000 2

Test 4

Subtask: 1, 2, 4, 6

Verdict: ACCEPTED

input
2 1

correct output
1 0
2 0

user output
10000 1
10000 2

Test 5

Subtask: 1, 3, 4, 5, 6

Verdict: ACCEPTED

input
3 0

correct output
1 0
804289383 846930886
681692777 714636915

user output
10000 1
20000 2
30000 3

Test 6

Subtask: 1, 4, 6

Verdict: ACCEPTED

input
3 1

correct output
1 0
2 0
804289383 846930886

user output
10000 1
10000 2
20000 3

Test 7

Subtask: 1, 4, 6

Verdict:

input
3 2

correct output
1 1
1 2
2 2

user output
10000 1
10000 2
20000 3
20000 4

Test 8

Subtask: 1, 2, 4, 6

Verdict: ACCEPTED

input
3 3

correct output
1 0
2 0
3 0

user output
10000 1
10000 2
10000 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
10000 1
20000 2
30000 3
40000 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
10000 1
10000 2
20000 3
30000 4

Test 11

Subtask: 1, 4, 6

Verdict: ACCEPTED

input
4 2

correct output
21392 0
1 0
0 510510
804289383 846930886

user output
10000 1
10000 2
20000 3
20000 4

Test 12

Subtask: 1, 4, 6

Verdict: ACCEPTED

input
4 3

correct output
1 0
2 0
3 0
804289383 846930886

user output
10000 1
10000 2
10000 3
20000 4

Test 13

Subtask: 1, 4, 6

Verdict:

input
4 4

correct output
21392 0
1 0
2 0
0 510510

user output
10000 1
10000 2
10000 3
20000 4
20000 5

Test 14

Subtask: 1, 6

Verdict:

input
4 5

correct output
21392 0
22600 0
1 0
0 510510

user output
10000 1
10000 2
10000 3
20000 4
20000 5
...

Test 15

Subtask: 1, 2, 6

Verdict: ACCEPTED

input
4 6

correct output
1 0
2 0
3 0
4 0

user output
10000 1
10000 2
10000 3
10000 4

Test 16

Subtask: 4, 6

Verdict:

input
5 5

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

user output
10000 1
10000 2
10000 3
20000 4
20000 5
...

Test 17

Subtask: 4, 6

Verdict:

input
6 5

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

user output
10000 1
10000 2
10000 3
20000 4
20000 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
10000 1
20000 2
30000 3
40000 4
50000 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
10000 1
10000 2
10000 3
10000 4
10000 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
10000 1
10000 2
10000 3
10000 4
10000 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
10000 1
10000 2
10000 3
10000 4
10000 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
10000 1
10000 2
10000 3
10000 4
10000 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
10000 1
10000 2
10000 3
10000 4
10000 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
10000 1
20000 2
30000 3
40000 4
50000 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
10000 1
10000 2
10000 3
10000 4
10000 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
10000 1
10000 2
10000 3
10000 4
10000 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
10000 1
10000 2
10000 3
10000 4
10000 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
10000 1
10000 2
10000 3
10000 4
10000 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
10000 1
10000 2
10000 3
10000 4
10000 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
10000 1
20000 2
30000 3
40000 4
50000 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
10000 1
10000 2
20000 3
30000 4
40000 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
10000 1
10000 2
10000 3
20000 4
20000 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
10000 1
10000 2
10000 3
10000 4
10000 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
10000 1
10000 2
10000 3
10000 4
10000 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
10000 1
10000 2
10000 3
10000 4
10000 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
10000 1
10000 2
10000 3
10000 4
10000 5
...

Test 37

Subtask: 6

Verdict: ACCEPTED

input
100 2222

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

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

Test 38

Subtask: 6

Verdict:

input
100 3395

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

user output
10000 1
10000 2
10000 3
10000 4
10000 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
10000 1
10000 2
10000 3
10000 4
10000 5
...

Test 40

Subtask: 6

Verdict:

input
100 4949

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

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

Test 41

Subtask: 6

Verdict:

input
100 4948

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

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

Test 42

Subtask: 6

Verdict:

input
100 4930

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

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

Test 43

Subtask: 6

Verdict:

input
100 4920

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

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

Test 44

Subtask: 6

Verdict:

input
100 4900

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

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