結果

問題 No.1837 Same but Different
ユーザー lam6er
提出日時 2025-03-20 20:53:14
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 1,061 bytes
コンパイル時間 259 ms
コンパイル使用メモリ 82,640 KB
実行使用メモリ 62,096 KB
最終ジャッジ日時 2025-03-20 20:54:02
合計ジャッジ時間 5,180 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other WA * 23
権限があれば一括ダウンロードができます

ソースコード

diff #

n = int(input())

# 构造A序列:前面两个元素固定为99、824,后面的元素依次为436, 437,...,435 + (n-2)
a = [99, 824]
for i in range(2, n-1):
    a.append(435 + i)
# 最后一个元素足够大,例如4353(可能需要调整)
if n >= 3:
    a += [4353]  # 样例中的第三个元素,之后需要调整以适配总和

# 计算A的总和
sum_a = sum(a)

# B的序列构造,前n-1元素是0,1,2,...,n-2,最后一个元素K = sum_a - sum前n-1元素
sum_b_prev = (n-2)*(n-1)//2
k = sum_a - sum_b_prev

b = list(range(n-1))  # 0, 1, ..., n-2
b.append(k)

# 调整A的最后一个元素确保严格递增
if len(a) < n:
    # 添加元素以确保递增
    current_last = a[-1]
    for i in range(len(a), n):
        current_last += 1
        a.append(current_last)

# 再次计算总和,并调整B的最后一个元素
sum_a = sum(a)
sum_b_prev = (n-2)*(n-1)//2
k = sum_a - sum_b_prev
b[-1] = k

# 确保B是严格递增
while k <= b[-2]:
    k += 1
    b[-1] = k

# 输出
print(' '.join(map(str, a)))
print(' '.join(map(str, b)))
0