Submission details
Task:Distances
Sender:sofapuden
Submission time:2026-04-17 10:59:55 +0300
Language:C++ (C++20)
Status:READY
Result:100
Feedback
subtaskverdictscore
#1ACCEPTED11
#2ACCEPTED4
#3ACCEPTED6
#4ACCEPTED19
#5ACCEPTED22
#6ACCEPTED38
Test results
testverdicttimesubtask
#1ACCEPTED0.01 s1, 4, 6details
#2ACCEPTED0.01 s1, 2, 3, 4, 5, 6details
#3ACCEPTED0.01 s1, 3, 4, 5, 6details
#4ACCEPTED0.01 s1, 2, 4, 6details
#5ACCEPTED0.01 s1, 3, 4, 5, 6details
#6ACCEPTED0.01 s1, 4, 6details
#7ACCEPTED0.01 s1, 4, 6details
#8ACCEPTED0.01 s1, 2, 4, 6details
#9ACCEPTED0.01 s1, 3, 4, 5, 6details
#10ACCEPTED0.01 s1, 4, 5, 6details
#11ACCEPTED0.01 s1, 4, 6details
#12ACCEPTED0.01 s1, 4, 6details
#13ACCEPTED0.01 s1, 4, 6details
#14ACCEPTED0.01 s1, 6details
#15ACCEPTED0.01 s1, 2, 6details
#16ACCEPTED0.01 s4, 6details
#17ACCEPTED0.01 s4, 6details
#18ACCEPTED0.01 s3, 4, 5, 6details
#19ACCEPTED0.01 s4, 5, 6details
#20ACCEPTED0.01 s4, 5, 6details
#21ACCEPTED0.01 s5, 6details
#22ACCEPTED0.01 s5, 6details
#23ACCEPTED0.01 s2, 6details
#24ACCEPTED0.01 s3, 4, 5, 6details
#25ACCEPTED0.01 s4, 5, 6details
#26ACCEPTED0.01 s4, 5, 6details
#27ACCEPTED0.01 s5, 6details
#28ACCEPTED0.01 s5, 6details
#29ACCEPTED0.01 s2, 6details
#30ACCEPTED0.01 s3, 4, 5, 6details
#31ACCEPTED0.01 s4, 5, 6details
#32ACCEPTED0.01 s4, 5, 6details
#33ACCEPTED0.01 s4, 5, 6details
#34ACCEPTED0.01 s5, 6details
#35ACCEPTED0.01 s5, 6details
#36ACCEPTED0.01 s5, 6details
#37ACCEPTED0.01 s6details
#38ACCEPTED0.01 s6details
#39ACCEPTED0.01 s2, 6details
#40ACCEPTED0.01 s6details
#41ACCEPTED0.01 s6details
#42ACCEPTED0.01 s6details
#43ACCEPTED0.01 s6details
#44ACCEPTED0.01 s6details

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:57:26: warning: comparison of integer expressions of different signedness: 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   57 |         while(out.size() < n) {
      |               ~~~~~~~~~~~^~~

Code

#include<bits/stdc++.h>

using namespace std;

typedef long long ll;

string p(pair<ll, ll> pt) {
        return "(" + to_string(pt.first) + ", " + to_string(pt.second) + ")";
}

bool isq(ll x) {
        ll z = sqrt(x);
        while(1ll * z * z < x) z++;
        while(1ll * z * z > x) z--;
        return 1ll * z * z == x;
}

bool dist(pair<int, int> a, pair<int, int> b, bool verbal = 0) {
        ll d = 1ll * (a.first - b.first) * (a.first - b.first) + 1ll * (a.second - b.second) * (a.second - b.second);
        if(verbal) cout << p(a) << ' ' << p(b) << ' ' << d << ' ' << isq(d) << '\n';
        return isq(d);
}

int cnt(pair<int, int> a, vector<pair<int, int>> b) {
	int cu = 0;
	for(auto x : b) cu += dist(a, x);
	return cu;
}

int am2(vector<pair<int, int>> b) {
	int n = b.size();
	int cu = 0;
	for(int i = 0; i < n; ++i) for(int j = i + 1; j < n; ++j) cu += dist(b[i], b[j]);
	return cu;
}


int main() {
	int n, k; cin >> n >> k;
	pair<int, int> pt = {2520, 0};
	vector<int> gd, bd;
	for(int j = 0; j < 100000; ++j) {
		if(dist(make_pair(0, j), pt)) gd.push_back(j);
		else bd.push_back(j);
	}
	vector<pair<int, int>> out = {pt};
	int am = 0;
	for(int i = 1; i < n; ++i) {
		if(am + i >= k) {
			for(int j = 0; j < k - am; ++j) out.push_back(make_pair(0, gd[j]));
			for(int j = 0; j < i - (k - am); ++j) out.push_back(make_pair(0, bd[j]));
			break;
		}
		am += i;
	}
	int mx = 1000000000;
	while(out.size() < n) {
		while(cnt(make_pair(mx, mx), out)) mx--;
		out.emplace_back(mx, mx);
	}
	for(auto x : out) cout << x.first << ' ' << x.second << '\n';
	cout << am2(out) << '\n';
}

Test details

Test 1

Subtask: 1, 4, 6

Verdict: ACCEPTED

input
3 2

correct output
1 1
1 2
2 2

user output
2520 0
0 0
0 1
2

Test 2

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

Verdict: ACCEPTED

input
1 0

correct output
1 0

user output
2520 0
0

Test 3

Subtask: 1, 3, 4, 5, 6

Verdict: ACCEPTED

input
2 0

correct output
1 0
804289383 846930886

user output
2520 0
0 1
0

Test 4

Subtask: 1, 2, 4, 6

Verdict: ACCEPTED

input
2 1

correct output
1 0
2 0

user output
2520 0
0 0
1

Test 5

Subtask: 1, 3, 4, 5, 6

Verdict: ACCEPTED

input
3 0

correct output
1 0
804289383 846930886
681692777 714636915

user output
2520 0
0 1
1000000000 1000000000
0

Test 6

Subtask: 1, 4, 6

Verdict: ACCEPTED

input
3 1

correct output
1 0
2 0
804289383 846930886

user output
2520 0
0 0
1000000000 1000000000
1

Test 7

Subtask: 1, 4, 6

Verdict: ACCEPTED

input
3 2

correct output
1 1
1 2
2 2

user output
2520 0
0 0
0 1
2

Test 8

Subtask: 1, 2, 4, 6

Verdict: ACCEPTED

input
3 3

correct output
1 0
2 0
3 0

user output
2520 0
0 0
0 71
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
2520 0
0 1
1000000000 1000000000
999999999 999999999
0

Test 10

Subtask: 1, 4, 5, 6

Verdict: ACCEPTED

input
4 1

correct output
1 0
2 0
804289383 846930886
681692777 714636915

user output
2520 0
0 0
1000000000 1000000000
999999999 999999999
1

Test 11

Subtask: 1, 4, 6

Verdict: ACCEPTED

input
4 2

correct output
21392 0
1 0
0 510510
804289383 846930886

user output
2520 0
0 0
0 1
1000000000 1000000000
2

Test 12

Subtask: 1, 4, 6

Verdict: ACCEPTED

input
4 3

correct output
1 0
2 0
3 0
804289383 846930886

user output
2520 0
0 0
0 71
1000000000 1000000000
3

Test 13

Subtask: 1, 4, 6

Verdict: ACCEPTED

input
4 4

correct output
21392 0
1 0
2 0
0 510510

user output
2520 0
0 0
0 1
0 2
4

Test 14

Subtask: 1, 6

Verdict: ACCEPTED

input
4 5

correct output
21392 0
22600 0
1 0
0 510510

user output
2520 0
0 0
0 71
0 1
5

Test 15

Subtask: 1, 2, 6

Verdict: ACCEPTED

input
4 6

correct output
1 0
2 0
3 0
4 0

user output
2520 0
0 0
0 71
0 123
6

Test 16

Subtask: 4, 6

Verdict: ACCEPTED

input
5 5

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

user output
2520 0
0 0
0 71
0 1
1000000000 1000000000
...

Test 17

Subtask: 4, 6

Verdict: ACCEPTED

input
6 5

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

user output
2520 0
0 0
0 71
0 1
1000000000 1000000000
...

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
2520 0
0 1
1000000000 1000000000
999999999 999999999
999999998 999999998
...

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
2520 0
0 0
0 71
0 123
0 174
...

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
2520 0
0 0
0 71
0 123
0 174
...

Test 21

Subtask: 5, 6

Verdict: ACCEPTED

input
98 1185

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

user output
2520 0
0 0
0 71
0 123
0 174
...

Test 22

Subtask: 5, 6

Verdict: ACCEPTED

input
98 1188

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

user output
2520 0
0 0
0 71
0 123
0 174
...

Test 23

Subtask: 2, 6

Verdict: ACCEPTED

input
98 4753

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

user output
2520 0
0 0
0 71
0 123
0 174
...

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
2520 0
0 1
1000000000 1000000000
999999999 999999999
999999998 999999998
...

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
2520 0
0 0
0 71
0 123
0 174
...

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
2520 0
0 0
0 71
0 123
0 174
...

Test 27

Subtask: 5, 6

Verdict: ACCEPTED

input
99 1201

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

user output
2520 0
0 0
0 71
0 123
0 174
...

Test 28

Subtask: 5, 6

Verdict: ACCEPTED

input
99 1212

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

user output
2520 0
0 0
0 71
0 123
0 174
...

Test 29

Subtask: 2, 6

Verdict: ACCEPTED

input
99 4851

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

user output
2520 0
0 0
0 71
0 123
0 174
...

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
2520 0
0 1
1000000000 1000000000
999999999 999999999
999999998 999999998
...

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
2520 0
0 0
1000000000 1000000000
999999999 999999999
999999998 999999998
...

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
2520 0
0 0
0 71
0 1
1000000000 1000000000
...

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
2520 0
0 0
0 71
0 123
0 174
...

Test 34

Subtask: 5, 6

Verdict: ACCEPTED

input
100 1000

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

user output
2520 0
0 0
0 71
0 123
0 174
...

Test 35

Subtask: 5, 6

Verdict: ACCEPTED

input
100 1232

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

user output
2520 0
0 0
0 71
0 123
0 174
...

Test 36

Subtask: 5, 6

Verdict: ACCEPTED

input
100 1237

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

user output
2520 0
0 0
0 71
0 123
0 174
...

Test 37

Subtask: 6

Verdict: ACCEPTED

input
100 2222

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

user output
2520 0
0 0
0 71
0 123
0 174
...

Test 38

Subtask: 6

Verdict: ACCEPTED

input
100 3395

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

user output
2520 0
0 0
0 71
0 123
0 174
...

Test 39

Subtask: 2, 6

Verdict: ACCEPTED

input
100 4950

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

user output
2520 0
0 0
0 71
0 123
0 174
...

Test 40

Subtask: 6

Verdict: ACCEPTED

input
100 4949

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

user output
2520 0
0 0
0 71
0 123
0 174
...

Test 41

Subtask: 6

Verdict: ACCEPTED

input
100 4948

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

user output
2520 0
0 0
0 71
0 123
0 174
...

Test 42

Subtask: 6

Verdict: ACCEPTED

input
100 4930

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

user output
2520 0
0 0
0 71
0 123
0 174
...

Test 43

Subtask: 6

Verdict: ACCEPTED

input
100 4920

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

user output
2520 0
0 0
0 71
0 123
0 174
...

Test 44

Subtask: 6

Verdict: ACCEPTED

input
100 4900

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

user output
2520 0
0 0
0 71
0 123
0 174
...