結果

問題 No.2710 How many more?
ユーザー KDKJ
提出日時 2024-04-30 00:02:21
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 1,216 bytes
コンパイル時間 512 ms
コンパイル使用メモリ 82,432 KB
実行使用メモリ 132,608 KB
最終ジャッジ日時 2024-11-19 09:31:38
合計ジャッジ時間 11,175 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 6 WA * 11
権限があれば一括ダウンロードができます

ソースコード

diff #

from heapq import heappush, heappop, heapify
import sys
from collections import defaultdict, deque,Counter
from math import ceil, floor, sqrt, factorial,gcd
from itertools import permutations, combinations,product
from bisect import bisect_left, bisect_right
from copy import deepcopy
from functools import lru_cache #@lru_cache(maxsize=None)
from fractions import Fraction
sys.setrecursionlimit(10**6)
# input = sys.stdin.readline
vector1 = [[0, -1], [1, 0], [0, 1], [-1, 0]]
vector2 = [[0, 1], [1, 0], [-1, 0], [0, -1],
           [1,-1], [-1, 1], [1, 1], [-1, -1]]





def main():
    N,Q = map(int,input().split())
    A = list(map(int,input().split()))
    a = [[val,idx] for idx,val in enumerate(A)]
    a.sort(reverse=True)#ゴールから遠い人順に並ぶ
    d = defaultdict(int)#ゼッケンiの人の順位を入れる
    dist = defaultdict(int)#ゼッケンiの人の位置を入れる
    for i,(val,idx) in enumerate(a):
        d[idx+1] = i
        dist[idx+1] = val
    
    #print(d)
    for _ in range(Q):
        x,y = map(int,input().split())
        if dist[x] <= dist[y]:
            print(0)
        else:
            print(d[y]-d[x]-1)
    
    


if __name__ == '__main__':
    main()
0