190522025-11-19 07:40:45birozsLeghosszabb béke (75 pont)pypy3Accepted 75/75136ms22984 KiB
N,M = map(int,input().split())
T = []
Utolso = 0
for _ in range(M):
    A,B = map(int,input().split())
    if B > Utolso:
         Utolso = B
    kozos = False
    for i in range(len(T)):
        if A <= T[i][1] and B >= T[i][0]:
                T[i][0] = min(A,T[i][0])
                T[i][1] = max(B,T[i][1])
                kozos = True
                break
    if not kozos:
        T.append([A,B])
T.sort(key=lambda x:[x[0],-x[1]])
M = len(T)
if T[0][0] > 1:
    kezdet = 1
    hossz = T[0][0] - 1
else:
    kezdet = 0
    hossz = 0
A = T[0][0]
B = T[0][1]
for i in range(1,M):
    if T[i][0] <= B < T[i][1]:
        A = T[i][0]
        B = T[i][1]
    elif B <= T[i][0]:
        if T[i][0] - B - 1 > hossz:
            hossz = T[i][0] - B - 1
            kezdet = B + 1
        A = T[i][0]
        B = T[i][1]
if N - Utolso > hossz:
    hossz = N - Utolso
    kezdet = Utolso + 1
if hossz == 0:
    print(-1)
else:
    print(hossz,kezdet)
SubtaskSumTestVerdictTimeMemory
base75/75
1Accepted0/043ms19684 KiB
2Accepted0/0136ms22444 KiB
3Accepted3/339ms19612 KiB
4Accepted3/346ms19640 KiB
5Accepted3/339ms19692 KiB
6Accepted3/345ms19740 KiB
7Accepted3/345ms19776 KiB
8Accepted4/441ms19820 KiB
9Accepted4/445ms19812 KiB
10Accepted4/450ms21224 KiB
11Accepted4/486ms22760 KiB
12Accepted4/479ms22760 KiB
13Accepted4/486ms22760 KiB
14Accepted4/478ms22764 KiB
15Accepted4/489ms22760 KiB
16Accepted4/489ms22496 KiB
17Accepted4/487ms22984 KiB
18Accepted4/486ms22744 KiB
19Accepted4/4129ms22760 KiB
20Accepted4/4122ms22760 KiB
21Accepted4/4131ms22844 KiB
22Accepted4/4136ms22692 KiB