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