Submission details
Task:Distances
Sender:saarixx
Submission time:2026-04-17 10:53:49 +0300
Language:C++ (C++23)
Status:READY
Result:0
Feedback
subtaskverdictscore
#10
#20
#30
#40
#50
#60
Test results
testverdicttimesubtask
#1--1, 4, 6details
#2ACCEPTED0.00 s1, 2, 3, 4, 5, 6details
#3--1, 3, 4, 5, 6details
#4--1, 2, 4, 6details
#5--1, 3, 4, 5, 6details
#6--1, 4, 6details
#7--1, 4, 6details
#8--1, 2, 4, 6details
#9--1, 3, 4, 5, 6details
#10--1, 4, 5, 6details
#11--1, 4, 6details
#12--1, 4, 6details
#13--1, 4, 6details
#14--1, 6details
#15--1, 2, 6details
#16--4, 6details
#17--4, 6details
#18--3, 4, 5, 6details
#19--4, 5, 6details
#20--4, 5, 6details
#21--5, 6details
#22--5, 6details
#23--2, 6details
#24--3, 4, 5, 6details
#25--4, 5, 6details
#26--4, 5, 6details
#27--5, 6details
#28--5, 6details
#29--2, 6details
#30--3, 4, 5, 6details
#31--4, 5, 6details
#32--4, 5, 6details
#33--4, 5, 6details
#34--5, 6details
#35--5, 6details
#36--5, 6details
#37--6details
#38--6details
#39--2, 6details
#40--6details
#41--6details
#42--6details
#43--6details
#44--6details

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:48:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   48 |       for (int i = 0; i < ans.size(); i++) {
      |                       ~~^~~~~~~~~~~~
input/code.cpp:49:29: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   49 |           for (int j = 1; j < ans.size(); j++) {
      |                           ~~^~~~~~~~~~~~

Code

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

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

int main() {
    int n, k;
    cin >> n >> k;

    while (true) {
      vector<int> groups;

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

      // Fill remaining points as одиночки
      int used = 0;
      for (int x : groups) used += x;
      while (used < n) {
          groups.push_back(1);
          used++;
      }

      // Step 2: construct coordinates
      int x = 0;
      vector<pair<int,int>> ans;

      int xd = distr(gen);
      int yd = distr(gen);
      int y = 0;
      for (int g : groups) {
          x += xd; // large gap
          y += yd;
          for (int i = 1; i <= g; i++) {
              ans.push_back({x, i + y});
          }
      }
      
      int cnt = 0;
      for (int i = 0; i < ans.size(); i++) {
          for (int j = 1; j < ans.size(); j++) {
              long long d = (ans[i].first - ans[j].first) * (long long)(ans[i].first - ans[j].first) + (ans[i].second - ans[j].second) * (long long)(ans[i].second - ans[j].second);
              long long d1 = sqrt(d);
              if (d1 * d1 == d) {
                  cnt++;
              }
          }
      }
      if (cnt != k) {
          continue;
      }

      // 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
(empty)

Test 2

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

Verdict: ACCEPTED

input
1 0

correct output
1 0

user output
3503843 4426507

Test 3

Subtask: 1, 3, 4, 5, 6

Verdict:

input
2 0

correct output
1 0
804289383 846930886

user output
(empty)

Test 4

Subtask: 1, 2, 4, 6

Verdict:

input
2 1

correct output
1 0
2 0

user output
(empty)

Test 5

Subtask: 1, 3, 4, 5, 6

Verdict:

input
3 0

correct output
1 0
804289383 846930886
681692777 714636915

user output
(empty)

Test 6

Subtask: 1, 4, 6

Verdict:

input
3 1

correct output
1 0
2 0
804289383 846930886

user output
(empty)

Test 7

Subtask: 1, 4, 6

Verdict:

input
3 2

correct output
1 1
1 2
2 2

user output
(empty)

Test 8

Subtask: 1, 2, 4, 6

Verdict:

input
3 3

correct output
1 0
2 0
3 0

user output
(empty)

Test 9

Subtask: 1, 3, 4, 5, 6

Verdict:

input
4 0

correct output
1 0
804289383 846930886
681692777 714636915
957747793 424238335

user output
(empty)

Test 10

Subtask: 1, 4, 5, 6

Verdict:

input
4 1

correct output
1 0
2 0
804289383 846930886
681692777 714636915

user output
(empty)

Test 11

Subtask: 1, 4, 6

Verdict:

input
4 2

correct output
21392 0
1 0
0 510510
804289383 846930886

user output
(empty)

Test 12

Subtask: 1, 4, 6

Verdict:

input
4 3

correct output
1 0
2 0
3 0
804289383 846930886

user output
(empty)

Test 13

Subtask: 1, 4, 6

Verdict:

input
4 4

correct output
21392 0
1 0
2 0
0 510510

user output
(empty)

Test 14

Subtask: 1, 6

Verdict:

input
4 5

correct output
21392 0
22600 0
1 0
0 510510

user output
(empty)

Test 15

Subtask: 1, 2, 6

Verdict:

input
4 6

correct output
1 0
2 0
3 0
4 0

user output
(empty)

Test 16

Subtask: 4, 6

Verdict:

input
5 5

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

user output
(empty)

Test 17

Subtask: 4, 6

Verdict:

input
6 5

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

user output
(empty)

Test 18

Subtask: 3, 4, 5, 6

Verdict:

input
98 0

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

user output
(empty)

Test 19

Subtask: 4, 5, 6

Verdict:

input
98 97

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

user output
(empty)

Test 20

Subtask: 4, 5, 6

Verdict:

input
98 98

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

user output
(empty)

Test 21

Subtask: 5, 6

Verdict:

input
98 1185

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

user output
(empty)

Test 22

Subtask: 5, 6

Verdict:

input
98 1188

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

user output
(empty)

Test 23

Subtask: 2, 6

Verdict:

input
98 4753

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

user output
(empty)

Test 24

Subtask: 3, 4, 5, 6

Verdict:

input
99 0

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

user output
(empty)

Test 25

Subtask: 4, 5, 6

Verdict:

input
99 98

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

user output
(empty)

Test 26

Subtask: 4, 5, 6

Verdict:

input
99 99

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

user output
(empty)

Test 27

Subtask: 5, 6

Verdict:

input
99 1201

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

user output
(empty)

Test 28

Subtask: 5, 6

Verdict:

input
99 1212

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

user output
(empty)

Test 29

Subtask: 2, 6

Verdict:

input
99 4851

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

user output
(empty)

Test 30

Subtask: 3, 4, 5, 6

Verdict:

input
100 0

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

user output
(empty)

Test 31

Subtask: 4, 5, 6

Verdict:

input
100 1

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

user output
(empty)

Test 32

Subtask: 4, 5, 6

Verdict:

input
100 5

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

user output
(empty)

Test 33

Subtask: 4, 5, 6

Verdict:

input
100 100

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

user output
(empty)

Test 34

Subtask: 5, 6

Verdict:

input
100 1000

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

user output
(empty)

Test 35

Subtask: 5, 6

Verdict:

input
100 1232

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

user output
(empty)

Test 36

Subtask: 5, 6

Verdict:

input
100 1237

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

user output
(empty)

Test 37

Subtask: 6

Verdict:

input
100 2222

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

user output
(empty)

Test 38

Subtask: 6

Verdict:

input
100 3395

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

user output
(empty)

Test 39

Subtask: 2, 6

Verdict:

input
100 4950

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

user output
(empty)

Test 40

Subtask: 6

Verdict:

input
100 4949

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

user output
(empty)

Test 41

Subtask: 6

Verdict:

input
100 4948

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

user output
(empty)

Test 42

Subtask: 6

Verdict:

input
100 4930

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

user output
(empty)

Test 43

Subtask: 6

Verdict:

input
100 4920

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

user output
(empty)

Test 44

Subtask: 6

Verdict:

input
100 4900

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

user output
(empty)