192752025-12-03 16:30:37birozs20G (40 pont)python3Elfogadva 40/40193ms15108 KiB
N,M = map(int,input().split())
T = list(map(int,input().split()))
for i in range(1,N):
    if T[i] < T[i-1]:
        T[i] = T[i-1]
lepes = 1
while 2 ** lepes < N:
    lepes += 1

for _ in range(M):
    H = int(input())
    if H == T[-1]:
        print(N)
    elif H < T[0]:
        print(1)
    else:
        eleje = 0
        vege = N - 1
        for _ in range(lepes):
            if T[(eleje+vege)//2] <= H:
                eleje = (eleje + vege) // 2
            elif T[(eleje+vege)//2] > H:
                vege = (eleje + vege) // 2
        while T[eleje] <= H:
            eleje += 1
        print(eleje + 1)
RészfeladatÖsszpontTesztVerdiktIdőMemória
base40/40
1Elfogadva0/016ms3312 KiB
2Elfogadva0/0172ms14468 KiB
3Elfogadva2/216ms3108 KiB
4Elfogadva2/216ms3124 KiB
5Elfogadva2/221ms3004 KiB
6Elfogadva2/228ms3124 KiB
7Elfogadva3/332ms3392 KiB
8Elfogadva3/3184ms14892 KiB
9Elfogadva3/3190ms14892 KiB
10Elfogadva3/3184ms15108 KiB
11Elfogadva4/4179ms14892 KiB
12Elfogadva4/4193ms14896 KiB
13Elfogadva4/4182ms14772 KiB
14Elfogadva4/4187ms14764 KiB
15Elfogadva4/4188ms14892 KiB