198542025-12-26 15:35:33marnorlorKét ajándékpython3Time limit exceeded 60/100592ms9456 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


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

#test()
futtatas()
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted17ms3636 KiB
2Accepted46ms7768 KiB
subtask210/10
3Accepted17ms3636 KiB
4Accepted17ms3632 KiB
5Accepted17ms3612 KiB
6Accepted17ms3620 KiB
7Accepted17ms3636 KiB
subtask310/10
8Accepted17ms3636 KiB
9Accepted17ms3616 KiB
10Accepted17ms3636 KiB
11Accepted17ms3836 KiB
12Accepted17ms3576 KiB
subtask420/20
13Accepted17ms3384 KiB
14Accepted17ms3492 KiB
15Accepted17ms3636 KiB
16Accepted17ms3612 KiB
17Accepted17ms3404 KiB
18Accepted17ms3660 KiB
19Accepted18ms3620 KiB
20Accepted17ms3500 KiB
21Accepted17ms3492 KiB
22Accepted17ms3516 KiB
subtask510/10
23Accepted19ms3892 KiB
24Accepted19ms3636 KiB
25Accepted21ms3892 KiB
26Accepted23ms4148 KiB
27Accepted23ms4392 KiB
subtask610/10
28Accepted26ms4688 KiB
29Accepted24ms4644 KiB
30Accepted24ms4644 KiB
31Accepted24ms4640 KiB
32Accepted24ms4664 KiB
subtask70/10
33Time limit exceeded583ms6836 KiB
34Time limit exceeded583ms6712 KiB
35Time limit exceeded583ms6844 KiB
36Time limit exceeded583ms6860 KiB
37Time limit exceeded580ms6796 KiB
subtask80/30
38Time limit exceeded584ms8096 KiB
39Time limit exceeded583ms8360 KiB
40Time limit exceeded584ms8288 KiB
41Time limit exceeded583ms8532 KiB
42Accepted54ms8892 KiB
43Time limit exceeded573ms9436 KiB
44Time limit exceeded573ms9436 KiB
45Time limit exceeded573ms9288 KiB
46Time limit exceeded584ms9432 KiB
47Time limit exceeded583ms9436 KiB
48Time limit exceeded583ms9456 KiB
49Time limit exceeded583ms9440 KiB
50Time limit exceeded592ms9436 KiB
51Time limit exceeded591ms9436 KiB
52Time limit exceeded591ms9300 KiB