#!/usr/bin/env python3 import queue # 1. Načtení vstupu vstup = input().split() K = int(vstup[0]) S = int(vstup[1]) zavodnici = list(map(int, input().split())) # 2. Pro každého závodníka si vložíme do fronty čas (počet sekund), za který # absolvuje dráhu. Poté budeme z fronty vybírat (a zase do ní vkládat ty, jež # doběhli v závěsu), dokud nebude prázdná. fronta = queue.Queue() for zavodnik in zavodnici: fronta.put(3600 * S // zavodnik) # 3. Postupně vybíráme z fronty a opakujeme běhy, dokud někdo zbývá behu = 0 while not fronta.empty(): behu += 1 minuly_dobeh = 0 cas_startu = 0 fronta_opakovani = queue.Queue() while not fronta.empty(): cas_zavodnika = fronta.get() cas_dobehu = cas_startu + cas_zavodnika # Kdy by doběhl na prázdné trati # Pokud doběhne v závěsu za předchozím, pošleme ho na trať znovu if cas_dobehu <= minuly_dobeh: fronta_opakovani.put(cas_zavodnika) else: minuly_dobeh = cas_dobehu cas_startu += 60 # Překlopíme frontu opakování do původní fronty fronta = fronta_opakovani # 4. Vypíšeme potřebný počet běhů print(behu)