結果

問題 No.2008 Super Worker
ユーザー nikumakarenikumakare
提出日時 2022-07-15 21:51:21
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 1,293 ms / 2,000 ms
コード長 670 bytes
コンパイル時間 170 ms
コンパイル使用メモリ 82,292 KB
実行使用メモリ 119,812 KB
最終ジャッジ日時 2024-06-27 17:32:56
合計ジャッジ時間 17,144 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 33
権限があれば一括ダウンロードができます

ソースコード

diff #

n=int(input())
A=[int(i) for i in input().split()]
B=[int(i) for i in input().split()]
T=[(A[i],B[i]) for i in range(n)]

S=sum(A)

ans=0
MOD=10**9+7

lev=1
# T.sort(key=lambda x:-((S-x[0])/x[1]))

import itertools
itr=itertools.permutations(T)

# for it in itr:
#     ans=0
#     lev=1

#     for a,b in it:
#         ans+=lev*a
#         ans%=MOD
#         lev*=b
#         lev%=MOD
    
#     if ans==2048669:
#         print(it)

from functools import cmp_to_key
def cmp(a, b):
    
    return 1 if a[1]*b[0]+a[0] < b[1]*a[0]+b[0] else -1

T.sort(key=cmp_to_key(cmp))
# print(T)

for a,b in T:
    ans+=lev*a
    ans%=MOD
    lev*=b
    lev%=MOD
        

print(ans)
0