結果
問題 |
No.1251 絶対に間違ってはいけない最小化問題
|
ユーザー |
![]() |
提出日時 | 2020-10-10 11:17:22 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 846 bytes |
コンパイル時間 | 279 ms |
コンパイル使用メモリ | 82,176 KB |
実行使用メモリ | 127,132 KB |
最終ジャッジ日時 | 2024-07-20 15:46:04 |
合計ジャッジ時間 | 26,068 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 31 WA * 11 |
ソースコード
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=-1 while cnt<num: # print(i,cnt,num) i+=1 cnt+=B[i] print(A[i],calc(A[i])) else: cnt=0 i=-1 num2=num+1 while cnt<num: i+=1 cnt+=B[i] i2=i if cnt<num2: i2+=1 x=(A[i]+A[i2])/2 print(x,int(calc(x))) main()