190352025-11-18 10:18:48birozsLeghosszabb béke (75 pont)python3Időlimit túllépés 23/75300ms19204 KiB
N,M = map(int,input().split())
T = []
for _ in range(M):
    A,B = map(int,input().split())
    T.append([A,B])
H = []
for i in range(M):
    if T[i][0] != 0:
        kezdet = T[i][0]
        veg = T[i][1]
        for j in range(i+1,M):
            if T[j][0] != 0 and T[j][0] <= veg and T[j][1] >= kezdet:
                kezdet = min(kezdet,T[j][0])
                veg = max(veg,T[j][1])
                T[j][0] = 0
        H.append([kezdet,veg])
Nap = [0] * (N+1)
for kezdet,veg in H:
    Nap[kezdet] = 1
    Nap[veg] = 1
Beke = True
hossz = 0
maxhossz = 0
kezdet = 1
maxkezdet = 1
for i in range(1,N+1):
    if Nap[i] == 0 and Beke:
        hossz += 1
    elif Nap[i] != 0 and Beke:
        if hossz > maxhossz:
            maxhossz = hossz
            maxkezdet = kezdet
        Beke = False
    elif Nap[i] != 0 and not Beke:
        Beke = True
        kezdet = i+1
        hossz = 0
if hossz > maxhossz:
    maxhossz = hossz
    maxkezdet = kezdet
if maxhossz == 0:
    print(-1)
else:
    print(maxhossz,maxkezdet)








RészfeladatÖsszpontTesztVerdiktIdőMemória
base23/75
1Elfogadva0/017ms3032 KiB
2Időlimit túllépés0/0289ms19204 KiB
3Elfogadva3/316ms3212 KiB
4Elfogadva3/316ms3124 KiB
5Elfogadva3/317ms3380 KiB
6Elfogadva3/316ms3156 KiB
7Elfogadva3/317ms3124 KiB
8Elfogadva4/417ms3324 KiB
9Hibás válasz0/417ms3160 KiB
10Hibás válasz0/419ms3328 KiB
11Hibás válasz0/439ms4148 KiB
12Hibás válasz0/450ms4404 KiB
13Hibás válasz0/441ms4148 KiB
14Hibás válasz0/443ms4148 KiB
15Hibás válasz0/450ms4404 KiB
16Hibás válasz0/454ms4500 KiB
17Hibás válasz0/459ms4656 KiB
18Elfogadva4/461ms4784 KiB
19Időlimit túllépés0/4300ms17716 KiB
20Időlimit túllépés0/4300ms18144 KiB
21Időlimit túllépés0/4277ms16352 KiB
22Időlimit túllépés0/4300ms18008 KiB