61852023-11-05 21:22:55jeviczkiKártyajátékpython3Elfogadva 30/30150ms38696 KiB
from sys import stdin
#n és k nem használt változók
n,k=(int(x) for x in stdin.readline().split())
#ke a kártyák listája
ke=[int(x) for x in stdin.readline().split()]
#készítünk egy csökkenő sorrendű listát. (a [::-1] megfordítja a listát.)
h=sorted(ke)[::-1]
#v a pontszám, u a legmagasabb kártya az asztalon jelenleg/legutoljára letett kártya)
u, v=0,0
for x in ke:
    #x a jelenlegileg nézett kártya
    if (x<u): continue
    #ke ha a jelenlegileg nézett kártya kisebb (vagy =), akkor nem kell semmit se csinálni -  ilyenkor continue átugorja az iterációt. ha nagyobb, akkor letesszük
    u=x 
    #mivel az előző részen csak akkor lehet továbbjutni, ha a jelenlegi x kártya nagyobb mint az előző letett, akkor x-et letesszük.
    if h[-1]<x:v+=1
    #ha a letett kártya nem a legkisebb, akkor panni kap egy pontot. h[-1] a legkisebb elem, és minden x amely nem x=h[-1] értékre igaz.
    while len(h)>0 and h[-1]<=x:
            #amíg a lista üres nem lesz, vagy a lista utolsó eleme már nagyobb mind a jelenlegi kártya, kitöröljük az utolsót
         
        h.pop()
        #pop érték nélkül az utolsó elemet törli
print(v)
RészfeladatÖsszpontTesztVerdiktIdőMemória
base30/30
1Elfogadva0/018ms10980 KiB
2Elfogadva0/0150ms36756 KiB
3Elfogadva1/117ms11868 KiB
4Elfogadva1/117ms11668 KiB
5Elfogadva1/117ms11968 KiB
6Elfogadva2/217ms12572 KiB
7Elfogadva2/218ms12524 KiB
8Elfogadva2/218ms12360 KiB
9Elfogadva1/185ms28140 KiB
10Elfogadva2/2127ms34256 KiB
11Elfogadva3/3128ms35928 KiB
12Elfogadva3/3129ms35896 KiB
13Elfogadva1/1136ms38304 KiB
14Elfogadva2/2141ms38500 KiB
15Elfogadva3/3145ms38644 KiB
16Elfogadva3/3144ms38696 KiB
17Elfogadva3/3150ms38656 KiB