61852023-11-05 21:22:55jeviczkiKártyajátékpython3Accepted 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)
SubtaskSumTestVerdictTimeMemory
base30/30
1Accepted0/018ms10980 KiB
2Accepted0/0150ms36756 KiB
3Accepted1/117ms11868 KiB
4Accepted1/117ms11668 KiB
5Accepted1/117ms11968 KiB
6Accepted2/217ms12572 KiB
7Accepted2/218ms12524 KiB
8Accepted2/218ms12360 KiB
9Accepted1/185ms28140 KiB
10Accepted2/2127ms34256 KiB
11Accepted3/3128ms35928 KiB
12Accepted3/3129ms35896 KiB
13Accepted1/1136ms38304 KiB
14Accepted2/2141ms38500 KiB
15Accepted3/3145ms38644 KiB
16Accepted3/3144ms38696 KiB
17Accepted3/3150ms38656 KiB