結果
問題 | 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()