| Task: | Distances |
| Sender: | Dozenal |
| Submission time: | 2026-04-17 13:26:49 +0300 |
| Language: | Python3 (PyPy3) |
| Status: | READY |
| Result: | 100 |
| subtask | verdict | score |
|---|---|---|
| #1 | ACCEPTED | 11 |
| #2 | ACCEPTED | 4 |
| #3 | ACCEPTED | 6 |
| #4 | ACCEPTED | 19 |
| #5 | ACCEPTED | 22 |
| #6 | ACCEPTED | 38 |
| test | verdict | time | subtask | |
|---|---|---|---|---|
| #1 | ACCEPTED | 0.04 s | 1, 4, 6 | details |
| #2 | ACCEPTED | 0.04 s | 1, 2, 3, 4, 5, 6 | details |
| #3 | ACCEPTED | 0.04 s | 1, 3, 4, 5, 6 | details |
| #4 | ACCEPTED | 0.04 s | 1, 2, 4, 6 | details |
| #5 | ACCEPTED | 0.04 s | 1, 3, 4, 5, 6 | details |
| #6 | ACCEPTED | 0.04 s | 1, 4, 6 | details |
| #7 | ACCEPTED | 0.04 s | 1, 4, 6 | details |
| #8 | ACCEPTED | 0.04 s | 1, 2, 4, 6 | details |
| #9 | ACCEPTED | 0.04 s | 1, 3, 4, 5, 6 | details |
| #10 | ACCEPTED | 0.04 s | 1, 4, 5, 6 | details |
| #11 | ACCEPTED | 0.04 s | 1, 4, 6 | details |
| #12 | ACCEPTED | 0.04 s | 1, 4, 6 | details |
| #13 | ACCEPTED | 0.04 s | 1, 4, 6 | details |
| #14 | ACCEPTED | 0.04 s | 1, 6 | details |
| #15 | ACCEPTED | 0.04 s | 1, 2, 6 | details |
| #16 | ACCEPTED | 0.04 s | 4, 6 | details |
| #17 | ACCEPTED | 0.04 s | 4, 6 | details |
| #18 | ACCEPTED | 0.04 s | 3, 4, 5, 6 | details |
| #19 | ACCEPTED | 0.04 s | 4, 5, 6 | details |
| #20 | ACCEPTED | 0.04 s | 4, 5, 6 | details |
| #21 | ACCEPTED | 0.04 s | 5, 6 | details |
| #22 | ACCEPTED | 0.05 s | 5, 6 | details |
| #23 | ACCEPTED | 0.04 s | 2, 6 | details |
| #24 | ACCEPTED | 0.04 s | 3, 4, 5, 6 | details |
| #25 | ACCEPTED | 0.04 s | 4, 5, 6 | details |
| #26 | ACCEPTED | 0.04 s | 4, 5, 6 | details |
| #27 | ACCEPTED | 0.04 s | 5, 6 | details |
| #28 | ACCEPTED | 0.04 s | 5, 6 | details |
| #29 | ACCEPTED | 0.04 s | 2, 6 | details |
| #30 | ACCEPTED | 0.04 s | 3, 4, 5, 6 | details |
| #31 | ACCEPTED | 0.04 s | 4, 5, 6 | details |
| #32 | ACCEPTED | 0.04 s | 4, 5, 6 | details |
| #33 | ACCEPTED | 0.04 s | 4, 5, 6 | details |
| #34 | ACCEPTED | 0.04 s | 5, 6 | details |
| #35 | ACCEPTED | 0.04 s | 5, 6 | details |
| #36 | ACCEPTED | 0.04 s | 5, 6 | details |
| #37 | ACCEPTED | 0.04 s | 6 | details |
| #38 | ACCEPTED | 0.04 s | 6 | details |
| #39 | ACCEPTED | 0.04 s | 2, 6 | details |
| #40 | ACCEPTED | 0.04 s | 6 | details |
| #41 | ACCEPTED | 0.04 s | 6 | details |
| #42 | ACCEPTED | 0.04 s | 6 | details |
| #43 | ACCEPTED | 0.04 s | 6 | details |
| #44 | ACCEPTED | 0.04 s | 6 | details |
Code
import math
import itertools
# Read input
n, k = map(int, input().split())
def T(x):
return x * (x - 1) // 2
# Early exits
if k == T(n):
for i in range(n):
print(0, i)
exit()
if k == 0:
for i in range(n):
print(i, i)
exit()
# The long side
C = 55440
D = []
Sq = []
for d in range(1, C + 1):
if d * d == C: continue
if not C % d:
D.append(d)
x = d * d - (C//d) * (C//d)
if x <= 10**9 and -10**9 < x:
Sq.append(x)
# Variables
line = 0
while T(line + 1) <= k:
line += 1
sq = k - T(line)
other = line - sq
banish = n - line - 1
#print(f"line = {line}, sq = {sq}, other = {other}, banish = {banish}")
# Construct points
Points = [(0,0)] # Center
for j in range(banish):
Points.append((-10**9 + j + 1, -10**9 + j + 1))
for i in range(sq):
Points.append((Sq[i], 2 * C))
for i in range(other):
Points.append((i + 1, 2 * C))
def sq(x):
p = 32
s = 0
while p >= 0:
s += 2**p
if s * s > x:
s -= 2**p
p -= 1
return (s * s == x)
def tester():
s = 0
for i in range(n):
for j in range(i + 1, n):
p = Points[i]
q = Points[j]
x = p[0] - q[0]
y = p[1] - q[1]
#print(p, q, math.sqrt(x*x + y*y), sq(x*x + y*y))
if sq(x*x + y*y):
s += 1
return s
#print(tester())
for p in Points:
print(p[0], p[1])Test details
Test 1
Subtask: 1, 4, 6
Verdict: ACCEPTED
| input |
|---|
| 3 2 |
| correct output |
|---|
| 1 1 1 2 2 2 |
| user output |
|---|
| 0 0 -768398396 110880 1 110880 |
Test 2
Subtask: 1, 2, 3, 4, 5, 6
Verdict: ACCEPTED
| input |
|---|
| 1 0 |
| correct output |
|---|
| 1 0 |
| user output |
|---|
| 0 0 |
Test 3
Subtask: 1, 3, 4, 5, 6
Verdict: ACCEPTED
| input |
|---|
| 2 0 |
| correct output |
|---|
| 1 0 804289383 846930886 |
| user output |
|---|
| 0 0 1 1 |
Test 4
Subtask: 1, 2, 4, 6
Verdict: ACCEPTED
| input |
|---|
| 2 1 |
| correct output |
|---|
| 1 0 2 0 |
| user output |
|---|
| 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 |
|---|
| 0 0 1 1 2 2 |
Test 6
Subtask: 1, 4, 6
Verdict: ACCEPTED
| input |
|---|
| 3 1 |
| correct output |
|---|
| 1 0 2 0 804289383 846930886 |
| user output |
|---|
| 0 0 1 110880 2 110880 |
Test 7
Subtask: 1, 4, 6
Verdict: ACCEPTED
| input |
|---|
| 3 2 |
| correct output |
|---|
| 1 1 1 2 2 2 |
| user output |
|---|
| 0 0 -768398396 110880 1 110880 |
Test 8
Subtask: 1, 2, 4, 6
Verdict: ACCEPTED
| input |
|---|
| 3 3 |
| correct output |
|---|
| 1 0 2 0 3 0 |
| user output |
|---|
| 0 0 0 1 0 2 |
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 |
|---|
| 0 0 1 1 2 2 3 3 |
Test 10
Subtask: 1, 4, 5, 6
Verdict: ACCEPTED
| input |
|---|
| 4 1 |
| correct output |
|---|
| 1 0 2 0 804289383 846930886 681692777 714636915 |
| user output |
|---|
| 0 0 -999999999 -999999999 1 110880 2 110880 |
Test 11
Subtask: 1, 4, 6
Verdict: ACCEPTED
| input |
|---|
| 4 2 |
| correct output |
|---|
| 21392 0 1 0 0 510510 804289383 846930886 |
| user output |
|---|
| 0 0 -999999999 -999999999 -768398396 110880 1 110880 |
Test 12
Subtask: 1, 4, 6
Verdict: ACCEPTED
| input |
|---|
| 4 3 |
| correct output |
|---|
| 1 0 2 0 3 0 804289383 846930886 |
| user output |
|---|
| 0 0 1 110880 2 110880 3 110880 |
Test 13
Subtask: 1, 4, 6
Verdict: ACCEPTED
| input |
|---|
| 4 4 |
| correct output |
|---|
| 21392 0 1 0 2 0 0 510510 |
| user output |
|---|
| 0 0 -768398396 110880 1 110880 2 110880 |
Test 14
Subtask: 1, 6
Verdict: ACCEPTED
| input |
|---|
| 4 5 |
| correct output |
|---|
| 21392 0 22600 0 1 0 0 510510 |
| user output |
|---|
| 0 0 -768398396 110880 -341510391 110880 1 110880 |
Test 15
Subtask: 1, 2, 6
Verdict: ACCEPTED
| input |
|---|
| 4 6 |
| correct output |
|---|
| 1 0 2 0 3 0 4 0 |
| user output |
|---|
| 0 0 0 1 0 2 0 3 |
Test 16
Subtask: 4, 6
Verdict: ACCEPTED
| input |
|---|
| 5 5 |
| correct output |
|---|
| 21392 0 22600 0 1 0 0 510510 804289383 846930886 |
| user output |
|---|
| 0 0 -999999999 -999999999 -768398396 110880 -341510391 110880 1 110880 |
Test 17
Subtask: 4, 6
Verdict: ACCEPTED
| input |
|---|
| 6 5 |
| correct output |
|---|
| 21392 0 22600 0 1 0 0 510510 804289383 846930886 ... |
| user output |
|---|
| 0 0 -999999999 -999999999 -999999998 -999999998 -768398396 110880 -341510391 110880 ... |
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 |
|---|
| 0 0 1 1 2 2 3 3 4 4 ... |
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 |
|---|
| 0 0 -999999999 -999999999 -999999998 -999999998 -999999997 -999999997 -999999996 -999999996 ... |
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 |
|---|
| 0 0 -999999999 -999999999 -999999998 -999999998 -999999997 -999999997 -999999996 -999999996 ... |
Test 21
Subtask: 5, 6
Verdict: ACCEPTED
| input |
|---|
| 98 1185 |
| correct output |
|---|
| 21392 0 22600 0 30056 0 34848 0 38584 0 ... |
| user output |
|---|
| 0 0 -999999999 -999999999 -999999998 -999999998 -999999997 -999999997 -999999996 -999999996 ... |
Test 22
Subtask: 5, 6
Verdict: ACCEPTED
| input |
|---|
| 98 1188 |
| correct output |
|---|
| 21392 0 22600 0 30056 0 34848 0 38584 0 ... |
| user output |
|---|
| 0 0 -999999999 -999999999 -999999998 -999999998 -999999997 -999999997 -999999996 -999999996 ... |
Test 23
Subtask: 2, 6
Verdict: ACCEPTED
| input |
|---|
| 98 4753 |
| correct output |
|---|
| 1 0 2 0 3 0 4 0 5 0 ... |
| user output |
|---|
| 0 0 0 1 0 2 0 3 0 4 ... |
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 |
|---|
| 0 0 1 1 2 2 3 3 4 4 ... |
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 |
|---|
| 0 0 -999999999 -999999999 -999999998 -999999998 -999999997 -999999997 -999999996 -999999996 ... |
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 |
|---|
| 0 0 -999999999 -999999999 -999999998 -999999998 -999999997 -999999997 -999999996 -999999996 ... |
Test 27
Subtask: 5, 6
Verdict: ACCEPTED
| input |
|---|
| 99 1201 |
| correct output |
|---|
| 21392 0 22600 0 30056 0 34848 0 38584 0 ... |
| user output |
|---|
| 0 0 -999999999 -999999999 -999999998 -999999998 -999999997 -999999997 -999999996 -999999996 ... |
Test 28
Subtask: 5, 6
Verdict: ACCEPTED
| input |
|---|
| 99 1212 |
| correct output |
|---|
| 21392 0 22600 0 30056 0 34848 0 38584 0 ... |
| user output |
|---|
| 0 0 -999999999 -999999999 -999999998 -999999998 -999999997 -999999997 -999999996 -999999996 ... |
Test 29
Subtask: 2, 6
Verdict: ACCEPTED
| input |
|---|
| 99 4851 |
| correct output |
|---|
| 1 0 2 0 3 0 4 0 5 0 ... |
| user output |
|---|
| 0 0 0 1 0 2 0 3 0 4 ... |
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 |
|---|
| 0 0 1 1 2 2 3 3 4 4 ... |
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 |
|---|
| 0 0 -999999999 -999999999 -999999998 -999999998 -999999997 -999999997 -999999996 -999999996 ... |
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 |
|---|
| 0 0 -999999999 -999999999 -999999998 -999999998 -999999997 -999999997 -999999996 -999999996 ... |
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 |
|---|
| 0 0 -999999999 -999999999 -999999998 -999999998 -999999997 -999999997 -999999996 -999999996 ... |
Test 34
Subtask: 5, 6
Verdict: ACCEPTED
| input |
|---|
| 100 1000 |
| correct output |
|---|
| 21392 0 22600 0 30056 0 34848 0 38584 0 ... |
| user output |
|---|
| 0 0 -999999999 -999999999 -999999998 -999999998 -999999997 -999999997 -999999996 -999999996 ... |
Test 35
Subtask: 5, 6
Verdict: ACCEPTED
| input |
|---|
| 100 1232 |
| correct output |
|---|
| 21392 0 22600 0 30056 0 34848 0 38584 0 ... |
| user output |
|---|
| 0 0 -999999999 -999999999 -999999998 -999999998 -999999997 -999999997 -999999996 -999999996 ... |
Test 36
Subtask: 5, 6
Verdict: ACCEPTED
| input |
|---|
| 100 1237 |
| correct output |
|---|
| 21392 0 22600 0 30056 0 34848 0 38584 0 ... |
| user output |
|---|
| 0 0 -999999999 -999999999 -999999998 -999999998 -999999997 -999999997 -999999996 -999999996 ... |
Test 37
Subtask: 6
Verdict: ACCEPTED
| input |
|---|
| 100 2222 |
| correct output |
|---|
| 21392 0 22600 0 30056 0 34848 0 38584 0 ... |
| user output |
|---|
| 0 0 -999999999 -999999999 -999999998 -999999998 -999999997 -999999997 -999999996 -999999996 ... |
Test 38
Subtask: 6
Verdict: ACCEPTED
| input |
|---|
| 100 3395 |
| correct output |
|---|
| 21392 0 22600 0 30056 0 34848 0 38584 0 ... |
| user output |
|---|
| 0 0 -999999999 -999999999 -999999998 -999999998 -999999997 -999999997 -999999996 -999999996 ... |
Test 39
Subtask: 2, 6
Verdict: ACCEPTED
| input |
|---|
| 100 4950 |
| correct output |
|---|
| 1 0 2 0 3 0 4 0 5 0 ... |
| user output |
|---|
| 0 0 0 1 0 2 0 3 0 4 ... |
Test 40
Subtask: 6
Verdict: ACCEPTED
| input |
|---|
| 100 4949 |
| correct output |
|---|
| 21392 0 22600 0 30056 0 34848 0 38584 0 ... |
| user output |
|---|
| 0 0 -768398396 110880 -341510391 110880 -192099584 110880 -122943719 110880 ... |
Test 41
Subtask: 6
Verdict: ACCEPTED
| input |
|---|
| 100 4948 |
| correct output |
|---|
| 21392 0 22600 0 30056 0 34848 0 38584 0 ... |
| user output |
|---|
| 0 0 -768398396 110880 -341510391 110880 -192099584 110880 -122943719 110880 ... |
Test 42
Subtask: 6
Verdict: ACCEPTED
| input |
|---|
| 100 4930 |
| correct output |
|---|
| 21392 0 22600 0 30056 0 34848 0 38584 0 ... |
| user output |
|---|
| 0 0 -768398396 110880 -341510391 110880 -192099584 110880 -122943719 110880 ... |
Test 43
Subtask: 6
Verdict: ACCEPTED
| input |
|---|
| 100 4920 |
| correct output |
|---|
| 21392 0 22600 0 30056 0 34848 0 38584 0 ... |
| user output |
|---|
| 0 0 -768398396 110880 -341510391 110880 -192099584 110880 -122943719 110880 ... |
Test 44
Subtask: 6
Verdict: ACCEPTED
| input |
|---|
| 100 4900 |
| correct output |
|---|
| 21392 0 22600 0 30056 0 34848 0 38584 0 ... |
| user output |
|---|
| 0 0 -768398396 110880 -341510391 110880 -192099584 110880 -122943719 110880 ... |
