結果
問題 | No.1471 Sort Queries |
ユーザー |
|
提出日時 | 2021-06-24 19:33:00 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 356 ms / 2,000 ms |
コード長 | 1,213 bytes |
コンパイル時間 | 137 ms |
コンパイル使用メモリ | 12,544 KB |
実行使用メモリ | 17,920 KB |
最終ジャッジ日時 | 2024-06-25 07:32:19 |
合計ジャッジ時間 | 8,317 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 37 |
ソースコード
import sys #sys.setrecursionlimit(10 ** 6) INF = float('inf') #10**20に変えるのもあり MOD = 10**9 + 7 MOD2 = 998244353 def solve(): def II(): return int(sys.stdin.readline()) def LI(): return list(map(int, sys.stdin.readline().split())) def LC(): return list(input()) def IC(): return [int(c) for c in input()] def MI(): return map(int, sys.stdin.readline().split()) Alpha = {} for i in range(97, 123): Alpha[chr(i)] = i - 97 Alpha[i-97] = chr(i) N,Q = MI() S = LC() Scum = [[0]*26 for _ in range(N+1)] for n,s in enumerate(S): for i in range(26): Scum[n+1][i] += Scum[n][i] Scum[n+1][Alpha[s]] += 1 from pprint import pprint #pprint(Scum) from copy import deepcopy for q in range(Q): L,R,X = MI() L-=1 TmpR = deepcopy(Scum[R]) TmpL = deepcopy(Scum[L]) #print(TmpL) for i in range(26): TmpR[i] =TmpR[i] -TmpL[i] CharNum = 0 #print(TmpR) for i in range(26): CharNum += TmpR[i] if(CharNum >= X): #print(i) print(Alpha[i]) break return solve()