198542025-12-26 15:35:33marnorlorKét ajándékpython3Időlimit túllépés 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()
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva17ms3636 KiB
2Elfogadva46ms7768 KiB
subtask210/10
3Elfogadva17ms3636 KiB
4Elfogadva17ms3632 KiB
5Elfogadva17ms3612 KiB
6Elfogadva17ms3620 KiB
7Elfogadva17ms3636 KiB
subtask310/10
8Elfogadva17ms3636 KiB
9Elfogadva17ms3616 KiB
10Elfogadva17ms3636 KiB
11Elfogadva17ms3836 KiB
12Elfogadva17ms3576 KiB
subtask420/20
13Elfogadva17ms3384 KiB
14Elfogadva17ms3492 KiB
15Elfogadva17ms3636 KiB
16Elfogadva17ms3612 KiB
17Elfogadva17ms3404 KiB
18Elfogadva17ms3660 KiB
19Elfogadva18ms3620 KiB
20Elfogadva17ms3500 KiB
21Elfogadva17ms3492 KiB
22Elfogadva17ms3516 KiB
subtask510/10
23Elfogadva19ms3892 KiB
24Elfogadva19ms3636 KiB
25Elfogadva21ms3892 KiB
26Elfogadva23ms4148 KiB
27Elfogadva23ms4392 KiB
subtask610/10
28Elfogadva26ms4688 KiB
29Elfogadva24ms4644 KiB
30Elfogadva24ms4644 KiB
31Elfogadva24ms4640 KiB
32Elfogadva24ms4664 KiB
subtask70/10
33Időlimit túllépés583ms6836 KiB
34Időlimit túllépés583ms6712 KiB
35Időlimit túllépés583ms6844 KiB
36Időlimit túllépés583ms6860 KiB
37Időlimit túllépés580ms6796 KiB
subtask80/30
38Időlimit túllépés584ms8096 KiB
39Időlimit túllépés583ms8360 KiB
40Időlimit túllépés584ms8288 KiB
41Időlimit túllépés583ms8532 KiB
42Elfogadva54ms8892 KiB
43Időlimit túllépés573ms9436 KiB
44Időlimit túllépés573ms9436 KiB
45Időlimit túllépés573ms9288 KiB
46Időlimit túllépés584ms9432 KiB
47Időlimit túllépés583ms9436 KiB
48Időlimit túllépés583ms9456 KiB
49Időlimit túllépés583ms9440 KiB
50Időlimit túllépés592ms9436 KiB
51Időlimit túllépés591ms9436 KiB
52Időlimit túllépés591ms9300 KiB