結果
| 問題 |
No.1837 Same but Different
|
| コンテスト | |
| ユーザー |
tamato
|
| 提出日時 | 2022-02-11 22:05:29 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 47 ms / 2,000 ms |
| コード長 | 1,167 bytes |
| コンパイル時間 | 251 ms |
| コンパイル使用メモリ | 82,576 KB |
| 実行使用メモリ | 66,332 KB |
| 最終ジャッジ日時 | 2024-06-27 18:52:18 |
| 合計ジャッジ時間 | 2,663 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 23 |
ソースコード
mod = 998244353
eps = 10**-9
M = 10 ** 4
def main():
import sys
input = sys.stdin.readline
N = int(input())
if N % 3 == 0:
A = list(range(1, 3 * N - 1, 3))
B = list(range(2, 3 * N, 3))
for i in range(N - 1, -1, -1):
if A[i] + N <= M:
A[i] += N
break
A.sort()
elif N % 3 == 1:
A = list(range(1, 3 * (N - 1) - 1, 3))
B = list(range(2, 3 * (N - 1), 3))
B.append(3 * N - 1)
A.append(3 * N + 2)
d = N - 4
for i in range(N - 1, -1, -1):
if A[i] + d <= M:
A[i] += d
break
A.sort()
else:
A = list(range(1, 3 * (N - 2) - 1, 3))
B = list(range(2, 3 * (N - 2), 3))
A.append(9991)
A.append(9994)
B.append(9997)
B.append(10000)
d = N - 2 + 12
for i in range(N - 1, -1, -1):
if A[i] + d <= M - 10:
A[i] += d
break
A.sort()
print(*A)
print(*B)
assert sum(A) == sum(B)
assert len(set(A)) == len(set(B)) == N
if __name__ == '__main__':
main()
tamato