結果
問題 | No.2008 Super Worker |
ユーザー |
![]() |
提出日時 | 2022-07-15 21:40:33 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 1,474 ms / 2,000 ms |
コード長 | 1,085 bytes |
コンパイル時間 | 270 ms |
コンパイル使用メモリ | 82,532 KB |
実行使用メモリ | 145,736 KB |
最終ジャッジ日時 | 2024-06-27 17:14:57 |
合計ジャッジ時間 | 21,861 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 33 |
ソースコード
import bisectimport copyimport decimalimport fractionsimport heapqimport itertoolsimport mathimport randomimport sysimport timefrom collections import Counter,deque,defaultdictfrom functools import lru_cache,reducefrom heapq import heappush,heappop,heapify,heappushpop,_heappop_max,_heapify_maxdef _heappush_max(heap,item):heap.append(item)heapq._siftdown_max(heap, 0, len(heap)-1)def _heappushpop_max(heap, item):if heap and item < heap[0]:item, heap[0] = heap[0], itemheapq._siftup_max(heap, 0)return itemfrom math import gcd as GCDread=sys.stdin.readreadline=sys.stdin.readlinereadlines=sys.stdin.readlinesN=int(readline())A=list(map(int,readline().split()))B=list(map(int,readline().split()))class idx:def __init__(self,i):self.i=idef __lt__(self,other):i=self.ij=other.ireturn A[i]+A[j]*B[i]<A[j]+A[i]*B[j]ans=0x=1mod=10**9+7lst=[idx(i) for i in range(N)]lst.sort(reverse=True)for id in lst:i=id.ians+=A[i]*xx*=B[i]ans%=modx%=modprint(ans)