198552025-12-26 15:52:10marnorlorKét ajándékpython3Time limit exceeded 60/100593ms9668 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
1Accepted17ms3648 KiB
2Accepted48ms7788 KiB
subtask210/10
3Accepted17ms3804 KiB
4Accepted17ms3484 KiB
5Accepted17ms3380 KiB
6Accepted17ms3380 KiB
7Accepted17ms3636 KiB
subtask310/10
8Accepted17ms3624 KiB
9Accepted17ms3576 KiB
10Accepted17ms3380 KiB
11Accepted17ms3380 KiB
12Accepted17ms3636 KiB
subtask420/20
13Accepted17ms3832 KiB
14Accepted17ms3632 KiB
15Accepted17ms3396 KiB
16Accepted17ms3612 KiB
17Accepted17ms3380 KiB
18Accepted17ms3620 KiB
19Accepted17ms3576 KiB
20Accepted17ms3628 KiB
21Accepted17ms3828 KiB
22Accepted17ms3404 KiB
subtask510/10
23Accepted18ms3816 KiB
24Accepted19ms3560 KiB
25Accepted20ms3976 KiB
26Accepted20ms3960 KiB
27Accepted25ms4148 KiB
subtask610/10
28Accepted24ms4644 KiB
29Accepted26ms4816 KiB
30Accepted24ms4628 KiB
31Accepted26ms4644 KiB
32Accepted25ms4744 KiB
subtask70/10
33Time limit exceeded572ms7016 KiB
34Time limit exceeded572ms6792 KiB
35Time limit exceeded572ms6844 KiB
36Time limit exceeded573ms6844 KiB
37Time limit exceeded580ms6844 KiB
subtask80/30
38Time limit exceeded587ms8096 KiB
39Time limit exceeded587ms8052 KiB
40Time limit exceeded587ms8284 KiB
41Time limit exceeded587ms8524 KiB
42Accepted50ms8860 KiB
43Time limit exceeded580ms9512 KiB
44Time limit exceeded582ms9432 KiB
45Time limit exceeded580ms9288 KiB
46Time limit exceeded583ms9432 KiB
47Time limit exceeded592ms9460 KiB
48Time limit exceeded593ms9432 KiB
49Time limit exceeded593ms9668 KiB
50Time limit exceeded578ms9620 KiB
51Time limit exceeded586ms9432 KiB
52Time limit exceeded587ms9432 KiB