結果
| 問題 |
No.1837 Same but Different
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2022-02-11 22:00:02 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 286 ms / 2,000 ms |
| コード長 | 1,397 bytes |
| コンパイル時間 | 392 ms |
| コンパイル使用メモリ | 82,048 KB |
| 実行使用メモリ | 69,632 KB |
| 最終ジャッジ日時 | 2024-06-27 18:33:43 |
| 合計ジャッジ時間 | 6,095 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 23 |
ソースコード
import sys
input = lambda : sys.stdin.readline().rstrip()
write = lambda x: sys.stdout.write(x+"\n"); writef = lambda x: print("{:.12f}".format(x))
debug = lambda x: sys.stderr.write(x+"\n")
YES="Yes"; NO="No"; pans = lambda v: print(YES if v else NO)
LI = lambda : list(map(int, input().split()))
sys.setrecursionlimit(3*10**5+10)
n = int(input())
def main(n):
if n%3==0:
a = list(range(0,3*n,3))
b = list(range(1,3*n+1,3))
d = n//3
for i in range(n-d,n):
a[i] += 3
elif n%3==1:
a = list(range(0,3*n,3))
b = list(range(1,3*n+1,3))
d = n//3
for i in range(n-d,n):
a[i] += 3
a[-1] += 1
else:
a = list(range(1,3*n+1,3))
b = list(range(2,3*n+2,3))
v = 30
a = [v+vv for vv in a]
b = [v+vv for vv in b]
d = (n)//3
for i in range(n-d,n):
a[i] += 3
a[-1] += 1
a[-2] += 1
a[-1] += 15
a[-2] += 15
a[0] -= 15
a[1] -= 15
# print(a,b)
assert sum(a)==sum(b), (a,b)
for i in range(n-1):
assert a[i]<a[i+1] and b[i]<b[i+1]
assert len(set(a+b))==2*n
sa = set()
sb = set()
for i in range(n):
for j in range(n):
sa.add(a[i]+a[j])
sb.add(b[i]+b[j])
assert len(sa&sb)==0
return a,b
a,b = main(n)
print(*a)
print(*b)