結果
| 問題 | No.3562 Communicate Sorted Vector |
| コンテスト | |
| ユーザー |
jastaway
|
| 提出日時 | 2026-05-27 00:46:50 |
| 言語 | PyPy3 (7.3.17) |
| 結果 |
WA
(最新)
AC
(最初)
|
| 実行時間 | - |
| コード長 | 1,127 bytes |
| 記録 | |
| コンパイル時間 | 465 ms |
| コンパイル使用メモリ | 85,760 KB |
| 実行使用メモリ | 72,480 KB |
| 平均クエリ数 | 3.00 |
| 最終ジャッジ日時 | 2026-05-29 18:46:57 |
| 合計ジャッジ時間 | 24,268 ms |
|
ジャッジサーバーID (参考情報) |
judge1_1 / judge2_0 |
(要ログイン)
| サブタスク | 配点 | 結果 |
|---|---|---|
| 部分点1 | 10 % | AC * 45 |
| 部分点2 | 25 % | AC * 45 |
| 部分点3 | 65 % | AC * 44 WA * 2 |
| 合計 | 35 点 |
ソースコード
import sys
def solve():
# 入力をすべて取得
player = input()
N, Q = map(int, input().split())
if player == "Alice":
# Aliceパート: 数列Aを読み込む
A = list(map(int, input().split()))
# 差分を計算
D = []
prev = 0
for a in A:
D.append(a - prev)
prev = a
# 差分を2進数文字列に変換 (先頭の '0b' は除く)
S = [bin(d)[2:] for d in D]
# 出力 (K と 各文字列)
print(len(S), flush=True)
for s in S:
print(s, flush=True)
elif player == "Bob":
# Bobパート: Aliceからの出力を読み込む
K = int(input())
S = [input() for i in range(K)]
# 2進数から差分を復元し、累積和をとってAを復元
A = []
curr = 0
for s in S:
d = int(s, 2)
curr += d
A.append(curr)
# 復元した配列を出力
print(*(A), flush=True)
if __name__ == '__main__':
solve()
jastaway