198572025-12-26 16:22:56marnorlorKét ajándékpython3Time limit exceeded 60/100592ms9616 KiB
def parkereses(N: int, E: list):
    olcso=0
    draga=0
    osszeg=0
    globalMax=100000000+1
    startPos=0
    E2=E.copy()
    E2.sort(reverse=True)
    while startPos<len(E) and E[startPos] == E2[startPos]:
        startPos= startPos+1
    while True:
        #maximum
        max=0
        maxPos=0
        for i in range(startPos, N):
            if E[i]<globalMax and E[i]>=max:
                max=E[i]
                maxPos=i
        if max>0:
            if max<osszeg/2:
                break
            #párkeresés
            max2=0
            maxPos2=0
            for i in range(startPos, maxPos):
                if E[i]>max2 and E[i]<max:
                    max2=E[i]
                    maxPos2=i
        if max==0:
            break
        if max2!=0 and max+max2>osszeg:
            osszeg=max+max2
            olcso=maxPos2
            draga=maxPos
        #print(max)
        globalMax=max
        if maxPos== startPos:
            startPos= startPos+1
    if olcso==0 and draga==0:
        return 0, 0
    return olcso+1, draga+1

def test():
    a, b=parkereses(10, [1, 9, 6, 2, 7, 2, 8, 4, 6, 3])
    print(a, b)
    assert 5==a
    assert 7==b

    a, b=parkereses(2, [1, 2])
    print(a, b)
    assert 1==a
    assert 2==b

    a, b=parkereses(2, [2, 1])
    print(a, b)
    assert 0==a
    assert 0==b

    a, b=parkereses(2, [2, 2])
    print(a, b)
    assert 0==a
    assert 0==b

    E=[]
    for i in range(0, 50000):
        E.append(1000000000)
    a, b=parkereses(50000, E)
    print(a, b)
    assert 0==a
    assert 0==b
    
    E=[]
    for i in range(50000, 0 ,-1):
        E.append(i)
    a, b=parkereses(50000, E)
    print(a, b)
    assert 0==a
    assert 0==b
    
    a, b=parkereses(4, [41, 100, 73, 74])
    print(a, b)
    assert 3==a
    assert 4==b
    
    a, b=parkereses(4, [47, 100, 73, 74])
    print(a, b)
    assert 1==a
    assert 2==b
    
    a, b=parkereses(8, [2, 100, 40, 71, 50, 71, 62, 63])
    print(a, b)
    assert 7==a
    assert 8==b
    
    a, b=parkereses(6, [5, 5, 5, 6, 5, 5])
    print(a, b)
    assert 1==a or 2==a or 3==a
    assert 4==b
        
    a, b=parkereses(6, [1 ,10, 2, 9, 3, 8])
    print(a, b)
    assert 1==a
    assert 2==b
        
    a, b=parkereses(5, [1, 100, 2, 3, 99])
    print(a, b)
    assert 4==a
    assert 5==b
        
    a, b=parkereses(6, [8, 1, 7, 2, 6, 9])
    print(a, b)
    assert 1==a
    assert 6==b
    
    a, b=parkereses(10, [1, 1, 1, 1, 2, 2, 2, 2, 2, 2])
    print(a, b)
    assert 1==a
    assert 10==b
        
    a, b=parkereses(9, [2, 2, 3, 3, 3, 1, 1, 1, 3])
    print(a, b)
    assert 1==a
    assert 9==b
        
    a, b=parkereses(10, [9, 1, 8, 2, 7, 3, 6, 4, 5, 10])
    print(a, b)
    assert 1==a
    assert 10==b
    
    a, b=parkereses(6, [3, 10, 4, 10, 5, 10])
    print(a, b)
    assert 5==a
    assert 6==b
    
    a, b=parkereses(8, [3, 10, 8, 10, 9, 10, 4, 10])
    print(a, b)
    assert 5==a
    assert 8==b
    
    a, b=parkereses(3, [5, 1, 2])
    print(a, b)
    assert 2==a
    assert 3==b
    
    E=[]
    for i in range(0, 49999):
        E.append(100)
    E.append(101)
    a, b=parkereses(50000, E)
    print(a, b)
    assert 1==a
    assert 50000==b

    E=[]
    for i in range(0, 50000):
        E.append(i+1)        
    a, b=parkereses(50000, E)
    print(a, b)
    assert 49999==a
    assert 50000==b

    E=[]
    for i in range(0, 25000):
        E.append(i+1)
        E.append(50001-i)
    a, b=parkereses(50000, E)
    print(a, b)
    assert 1==a
    assert 2==b

def futtatas():
    N=int(input())
    E=list(map(int,input().split()))
    a, b=parkereses(N, E)
    print(a, b)

#test()
futtatas()
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted17ms3640 KiB
2Accepted48ms7932 KiB
subtask210/10
3Accepted18ms3516 KiB
4Accepted17ms3692 KiB
5Accepted17ms3824 KiB
6Accepted17ms3576 KiB
7Accepted17ms3684 KiB
subtask310/10
8Accepted17ms3488 KiB
9Accepted18ms3488 KiB
10Accepted17ms3640 KiB
11Accepted17ms3468 KiB
12Accepted18ms3628 KiB
subtask420/20
13Accepted17ms3884 KiB
14Accepted17ms3628 KiB
15Accepted17ms3632 KiB
16Accepted17ms3612 KiB
17Accepted17ms3816 KiB
18Accepted17ms3820 KiB
19Accepted17ms3636 KiB
20Accepted17ms3592 KiB
21Accepted17ms3460 KiB
22Accepted17ms3496 KiB
subtask510/10
23Accepted20ms3900 KiB
24Accepted19ms3636 KiB
25Accepted21ms3912 KiB
26Accepted23ms4140 KiB
27Accepted23ms4232 KiB
subtask610/10
28Accepted24ms4952 KiB
29Accepted25ms4632 KiB
30Accepted24ms4644 KiB
31Accepted25ms4816 KiB
32Accepted24ms4676 KiB
subtask70/10
33Time limit exceeded591ms7032 KiB
34Time limit exceeded591ms6828 KiB
35Time limit exceeded591ms6836 KiB
36Time limit exceeded591ms6840 KiB
37Time limit exceeded592ms7028 KiB
subtask80/30
38Time limit exceeded579ms8088 KiB
39Time limit exceeded580ms8312 KiB
40Time limit exceeded580ms8492 KiB
41Time limit exceeded580ms8776 KiB
42Accepted54ms8732 KiB
43Time limit exceeded578ms9448 KiB
44Time limit exceeded578ms9412 KiB
45Time limit exceeded578ms9420 KiB
46Time limit exceeded587ms9428 KiB
47Time limit exceeded589ms9528 KiB
48Time limit exceeded591ms9316 KiB
49Time limit exceeded591ms9424 KiB
50Time limit exceeded588ms9432 KiB
51Time limit exceeded577ms9428 KiB
52Time limit exceeded578ms9616 KiB