"""
2009. május: Lift
@author Klemand66
"""

from random import *


print("\n1. feladat\n")

betxt = open("igeny.txt")

szdb = int(betxt.readline().strip()) # szintek száma
csdb = int(betxt.readline().strip()) # csapatok száma
igdb = int(betxt.readline().strip()) #igények száma

# Mivel rendezésre nem lesz szükség, külön listákat alkalmazunk.
orak, percek, mpek, csapatok, iszintek, cszintek=[],[],[],[],[],[]

for i in range(igdb):
    sor=betxt.readline().strip()  # beolvasás és megtisztítás
    darsor=sor.split()            # darabolás
    adatsor=list(map(int,darsor)) # egész számmá alakítás
    orak.append(adatsor[0])
    percek.append(adatsor[1])
    mpek.append(adatsor[2])
    csapatok.append(adatsor[3])
    iszintek.append(adatsor[4])
    cszintek.append(adatsor[5]) 

betxt.close()
print("A beolvasás és a fájl lezárása sikeresen befejeződött.")



print("\n2. feladat\n")

szint0=int(input(f'Kérem a 9 órai kezdőszintet (max {szdb}): '))



print("\n3. feladat\n")

print(f'A lift a(z) {cszintek[-1]}. szinten áll az utolsó igény teljesítése után.')



print("\n4. feladat\n")

minsz=min(szint0,min(iszintek),min(cszintek))
maxsz=max(szint0,max(iszintek),max(cszintek))

print(f'A legalacsonyabb szint: {minsz}')
print(f'A legmagasabb szint: {maxsz}')



print("\n5. feladat\n")

aktszint=szint0
uresdb=0
utasdb=0

for i in range(igdb):
    if iszintek[i]>aktszint:
        uresdb+=1
    if cszintek[i]>iszintek[i]:
        utasdb+=1
    aktszint=cszintek[i]

print(f'Utas nélkül {uresdb}, utassal {utasdb} alkalommal kellett a liftnek felfelé menni.')



print("\n6. feladat\n")

print("A következő csapatok nem vették igénybe a liftet: ", end="")
for i in range(1, csdb+1):
    if not i in csapatok:
        print(f'{i} ',end="")
print()
        

print("\n7. feladat\n")

aktcsapat=randrange(1,csdb+1)

aktcsapatindexek=list(filter(lambda i:csapatok[i]==aktcsapat, range(igdb)))

biz=False

for i in range(1,len(aktcsapatindexek)):
    if iszintek[aktcsapatindexek[i]]!=cszintek[aktcsapatindexek[i-1]]:
        print(f'A(z) {aktcsapat}. csapat esetében bizonyítható a szabálytalanság.')
        print(f'Gyalog közlekedtek a(z) {cszintek[aktcsapatindexek[i-1]]}. \
és {iszintek[aktcsapatindexek[i]]}. emeletek között.')
        biz=True
        break
if not biz:
    print(f'A(z) {aktcsapat}. csapat esetében nem bizonyítható a szabálytalanság.')



print("\n8. feladat\n")

kitxt = open("blokkol.txt","w")

for i in range(igdb):
    if csapatok[i]== aktcsapat:
        kitxt.write(f'Befejezés ideje: {orak[i]}:{percek[i]}:{mpek[i]}\n')
        sik=input("Kérem a munka eredményét (befejezett vagy befejezetlen): ")
        kitxt.write(f'Sikeresség: {sik}\n')
        kitxt.write(f'----\n')
        kitxt.write(f'Indulási emelet: {iszintek[i]}\n')
        kitxt.write(f'Célemelet: {cszintek[i]}\n')
        fkod=input("Kérem a következő munka feladatkódját (1 és 99 közötti szám): ")
        kitxt.write(f'Feladatkód: {fkod}\n')
        
kitxt.close()
print("A kiíratás és a szövegfájl lezárása sikeresen befejeződött.\n")


input("\nA befejezéshez nyomd meg az ENTER billentyűt!")
