結果
問題 | No.1251 絶対に間違ってはいけない最小化問題 |
ユーザー |
![]() |
提出日時 | 2020-10-10 11:09:34 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 813 bytes |
コンパイル時間 | 294 ms |
コンパイル使用メモリ | 82,432 KB |
実行使用メモリ | 127,080 KB |
最終ジャッジ日時 | 2024-07-20 15:45:18 |
合計ジャッジ時間 | 26,513 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 2 WA * 40 |
ソースコード
import sys input=sys.stdin.readline def I(): return int(input()) def MI(): return map(int, input().split()) def LI(): return list(map(int, input().split())) def main(): import bisect N=I() A=LI() B=LI() A,B = zip(*sorted(zip(A, B))) def calc(x): temp=0 for i in range(N): temp+=B[i]*abs(x-A[i]) return temp N2=sum(B) num=(N2-1)//2 if N2%2: cnt=0 i=0 while cnt<num: cnt+=B[i] i+=1 print(A[i],calc(A[i])) else: cnt=0 i=0 num2=num+1 while cnt<num: cnt+=B[i] i+=1 i2=i if cnt<num2: i2+=1 x=(A[i]+A[i2])/2 print(x,int(calc(x))) main()