156582025-02-21 17:10:1742Színes szobák (50 pont)pypy3Futási hiba 20/50108ms32000 KiB
from sys import stdin
input=stdin.readline

def s():
 N,K,M = map(int,input().split())
 szobak = list(map(int,input().split()))
 lepesek=[0]*M
 for i in range(M):
  lepesek[i]=list(map(int,input().split()))

 def test(start):
  for a,b in lepesek:
   if szobak[start]==a:
    start+=b
    if start==N:
     return 1
    elif start==-1:
     return -1
  return 0

 res=0
 first=test(0)
 last=test(N-1)
 if last==1:
  if first==1:
   print(N)
   return
  else:
   lo=0
   hi=N-1
   while hi-lo>1:
    mid=(hi+lo)//2
    if test(mid)==1:hi=mid
    else:lo=mid
   res+=N-hi
 if first==-1:
  if last==-1:
   print(N)
   return
  else:
   lo=0
   hi=N-1
   while hi-lo>1:
    mid=(hi+lo)//2
    if test(mid)==-1:lo=mid
    else:hi=mid
   res+=hi
 print(res)

s()
RészfeladatÖsszpontTesztVerdiktIdőMemória
base20/50
1Elfogadva0/045ms19876 KiB
2Futási hiba0/068ms32000 KiB
3Elfogadva1/159ms21656 KiB
4Elfogadva1/154ms21452 KiB
5Elfogadva1/154ms21496 KiB
6Elfogadva1/163ms21512 KiB
7Elfogadva1/163ms21468 KiB
8Elfogadva1/161ms21588 KiB
9Elfogadva1/154ms21480 KiB
10Elfogadva1/168ms22160 KiB
11Elfogadva1/159ms21436 KiB
12Elfogadva1/159ms21948 KiB
13Elfogadva1/174ms23144 KiB
14Elfogadva1/157ms22376 KiB
15Elfogadva1/164ms22268 KiB
16Elfogadva1/161ms22636 KiB
17Elfogadva1/164ms23428 KiB
18Elfogadva1/179ms23524 KiB
19Futási hiba0/174ms32000 KiB
20Futási hiba0/165ms32000 KiB
21Futási hiba0/165ms32000 KiB
22Futási hiba0/179ms32000 KiB
23Futási hiba0/165ms32000 KiB
24Futási hiba0/175ms32000 KiB
25Futási hiba0/176ms32000 KiB
26Futási hiba0/168ms32000 KiB
27Futási hiba0/365ms32000 KiB
28Futási hiba0/375ms32000 KiB
29Futási hiba0/367ms32000 KiB
30Futási hiba0/378ms32000 KiB
31Futási hiba0/376ms32000 KiB
32Futási hiba0/378ms32000 KiB
33Elfogadva4/4108ms29948 KiB
34Futási hiba0/497ms32000 KiB