198562025-12-26 15:56:42marnorlorKét ajándékpython3Időlimit túllépés 60/100587ms9648 KiB
def parkereses(N: int, E: list):
    olcso=0
    draga=0
    osszeg=0
    globalMax=100000000+1
    startPos=0
    E2=E.copy()
    for i in range(0, 100):
        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
2Elfogadva86ms7768 KiB
subtask210/10
3Elfogadva17ms3628 KiB
4Elfogadva17ms3636 KiB
5Elfogadva17ms3636 KiB
6Elfogadva17ms3628 KiB
7Elfogadva17ms3636 KiB
subtask310/10
8Elfogadva17ms3456 KiB
9Elfogadva17ms3832 KiB
10Elfogadva17ms3632 KiB
11Elfogadva17ms3636 KiB
12Elfogadva17ms3616 KiB
subtask420/20
13Elfogadva17ms3656 KiB
14Elfogadva17ms3380 KiB
15Elfogadva17ms3772 KiB
16Elfogadva17ms3380 KiB
17Elfogadva17ms3508 KiB
18Elfogadva17ms3544 KiB
19Elfogadva17ms3420 KiB
20Elfogadva17ms3588 KiB
21Elfogadva17ms3692 KiB
22Elfogadva18ms3636 KiB
subtask510/10
23Elfogadva23ms3716 KiB
24Elfogadva24ms3636 KiB
25Elfogadva26ms3924 KiB
26Elfogadva27ms4056 KiB
27Elfogadva32ms4428 KiB
subtask610/10
28Elfogadva32ms4632 KiB
29Elfogadva32ms4644 KiB
30Elfogadva32ms4644 KiB
31Elfogadva32ms4644 KiB
32Elfogadva32ms4840 KiB
subtask70/10
33Időlimit túllépés580ms6840 KiB
34Időlimit túllépés580ms6844 KiB
35Időlimit túllépés580ms6864 KiB
36Időlimit túllépés582ms6800 KiB
37Időlimit túllépés587ms7040 KiB
subtask80/30
38Időlimit túllépés587ms8088 KiB
39Időlimit túllépés586ms8060 KiB
40Időlimit túllépés586ms8288 KiB
41Időlimit túllépés587ms8524 KiB
42Elfogadva101ms8824 KiB
43Időlimit túllépés574ms9628 KiB
44Időlimit túllépés574ms9456 KiB
45Időlimit túllépés575ms9280 KiB
46Időlimit túllépés578ms9428 KiB
47Időlimit túllépés583ms9620 KiB
48Időlimit túllépés584ms9432 KiB
49Időlimit túllépés584ms9276 KiB
50Időlimit túllépés587ms9444 KiB
51Időlimit túllépés578ms9648 KiB
52Időlimit túllépés578ms9628 KiB