198552025-12-26 15:52:10marnorlorKét ajándékpython3Időlimit túllépés 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()
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva17ms3648 KiB
2Elfogadva48ms7788 KiB
subtask210/10
3Elfogadva17ms3804 KiB
4Elfogadva17ms3484 KiB
5Elfogadva17ms3380 KiB
6Elfogadva17ms3380 KiB
7Elfogadva17ms3636 KiB
subtask310/10
8Elfogadva17ms3624 KiB
9Elfogadva17ms3576 KiB
10Elfogadva17ms3380 KiB
11Elfogadva17ms3380 KiB
12Elfogadva17ms3636 KiB
subtask420/20
13Elfogadva17ms3832 KiB
14Elfogadva17ms3632 KiB
15Elfogadva17ms3396 KiB
16Elfogadva17ms3612 KiB
17Elfogadva17ms3380 KiB
18Elfogadva17ms3620 KiB
19Elfogadva17ms3576 KiB
20Elfogadva17ms3628 KiB
21Elfogadva17ms3828 KiB
22Elfogadva17ms3404 KiB
subtask510/10
23Elfogadva18ms3816 KiB
24Elfogadva19ms3560 KiB
25Elfogadva20ms3976 KiB
26Elfogadva20ms3960 KiB
27Elfogadva25ms4148 KiB
subtask610/10
28Elfogadva24ms4644 KiB
29Elfogadva26ms4816 KiB
30Elfogadva24ms4628 KiB
31Elfogadva26ms4644 KiB
32Elfogadva25ms4744 KiB
subtask70/10
33Időlimit túllépés572ms7016 KiB
34Időlimit túllépés572ms6792 KiB
35Időlimit túllépés572ms6844 KiB
36Időlimit túllépés573ms6844 KiB
37Időlimit túllépés580ms6844 KiB
subtask80/30
38Időlimit túllépés587ms8096 KiB
39Időlimit túllépés587ms8052 KiB
40Időlimit túllépés587ms8284 KiB
41Időlimit túllépés587ms8524 KiB
42Elfogadva50ms8860 KiB
43Időlimit túllépés580ms9512 KiB
44Időlimit túllépés582ms9432 KiB
45Időlimit túllépés580ms9288 KiB
46Időlimit túllépés583ms9432 KiB
47Időlimit túllépés592ms9460 KiB
48Időlimit túllépés593ms9432 KiB
49Időlimit túllépés593ms9668 KiB
50Időlimit túllépés578ms9620 KiB
51Időlimit túllépés586ms9432 KiB
52Időlimit túllépés587ms9432 KiB