結果

問題 No.1837 Same but Different
ユーザー 👑 SPD_9X2
提出日時 2022-02-12 01:22:39
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 2,590 bytes
コンパイル時間 444 ms
コンパイル使用メモリ 82,176 KB
実行使用メモリ 64,512 KB
最終ジャッジ日時 2024-06-28 00:29:09
合計ジャッジ時間 5,059 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 22 WA * 1
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

"""
https://yukicoder.me/problems/no/1837
A3
B1 mod 3
A
+1,+1,+1,+1,+1,0,-2,-2,-2,-2,-2
+1,+1,-2
1000A,B
1 or 2
1
→4
2
1,4 , 999,1002,1008
2,3 , 1000,1003,1006
+1
→ 0,-1
======
A 0 mod 3
B 1 mod 3
ok
3ok
N = 0 mod 3
ok
N = 1 mod 3
A1 mod 1 ok
N = 2 mod 3
A2 mod 1
, 2 Bmin2ok
"""
import sys
from sys import stdin
def is_ok(A,B):
assert sum(A) == sum(B)
sa = set()
for i in A:
for j in A:
sa.add(i+j)
sb = set()
for i in B:
for j in B:
sb.add(i+j)
return sa & sb
N = int(stdin.readline())
if N % 3 == 0:
btype = [-2] * (N//3) + [1] * (2*N//3)
A = [3*(i+1) for i in range(N)]
B = [A[i]+btype[i] for i in range(N)]
print (" ".join(map(str,A)))
print (" ".join(map(str,B)))
print (is_ok(A,B) , file=sys.stderr)
elif N % 3 == 1:
btype = [-2] * (N//3) + [1] * (N - N//3)
A = [3*(i+1) for i in range(N)]
B = [A[i]+btype[i] for i in range(N)]
A[-1] += 7
B[-1] += 3
B[-2] += 3
A.sort()
B.sort()
print (" ".join(map(str,A)))
print (" ".join(map(str,B)))
print (is_ok(A,B) , file=sys.stderr)
else:
M = N-2
btype = [-2] * (M//3) + [1] * (2*M//3)
A = [3*(i+10) for i in range(M)]
B = [A[i]+btype[i] for i in range(M)]
A.append(1)
A.append(4)
B.append(B[-1] + 3)
B.append(B[-1] + 3)
Asum = sum(A)
Bsum = sum(B)
if Asum >= Bsum:
B[-1] += Asum - Bsum
else:
rem = Bsum - Asum
while rem > 0:
for j in range(len(A)-1,1,-1):
A[j] += 3
rem -= 3
if rem <= 0:
break
A.sort()
B.sort()
#print (B[-1],A[-1])
assert max(A) <= 10000
assert max(B) <= 10000
print (" ".join(map(str,A)))
print (" ".join(map(str,B)))
#print (is_ok(A,B) , file=sys.stderr)
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0