198572025-12-26 16:22:56marnorlorKét ajándékpython3Időlimit túllépés 60/100592ms9616 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
    
    E=[]
    for i in range(0, 49999):
        E.append(100)
    E.append(101)
    a, b=parkereses(50000, E)
    print(a, b)
    assert 1==a
    assert 50000==b

    E=[]
    for i in range(0, 50000):
        E.append(i+1)        
    a, b=parkereses(50000, E)
    print(a, b)
    assert 49999==a
    assert 50000==b

    E=[]
    for i in range(0, 25000):
        E.append(i+1)
        E.append(50001-i)
    a, b=parkereses(50000, E)
    print(a, b)
    assert 1==a
    assert 2==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
1Elfogadva17ms3640 KiB
2Elfogadva48ms7932 KiB
subtask210/10
3Elfogadva18ms3516 KiB
4Elfogadva17ms3692 KiB
5Elfogadva17ms3824 KiB
6Elfogadva17ms3576 KiB
7Elfogadva17ms3684 KiB
subtask310/10
8Elfogadva17ms3488 KiB
9Elfogadva18ms3488 KiB
10Elfogadva17ms3640 KiB
11Elfogadva17ms3468 KiB
12Elfogadva18ms3628 KiB
subtask420/20
13Elfogadva17ms3884 KiB
14Elfogadva17ms3628 KiB
15Elfogadva17ms3632 KiB
16Elfogadva17ms3612 KiB
17Elfogadva17ms3816 KiB
18Elfogadva17ms3820 KiB
19Elfogadva17ms3636 KiB
20Elfogadva17ms3592 KiB
21Elfogadva17ms3460 KiB
22Elfogadva17ms3496 KiB
subtask510/10
23Elfogadva20ms3900 KiB
24Elfogadva19ms3636 KiB
25Elfogadva21ms3912 KiB
26Elfogadva23ms4140 KiB
27Elfogadva23ms4232 KiB
subtask610/10
28Elfogadva24ms4952 KiB
29Elfogadva25ms4632 KiB
30Elfogadva24ms4644 KiB
31Elfogadva25ms4816 KiB
32Elfogadva24ms4676 KiB
subtask70/10
33Időlimit túllépés591ms7032 KiB
34Időlimit túllépés591ms6828 KiB
35Időlimit túllépés591ms6836 KiB
36Időlimit túllépés591ms6840 KiB
37Időlimit túllépés592ms7028 KiB
subtask80/30
38Időlimit túllépés579ms8088 KiB
39Időlimit túllépés580ms8312 KiB
40Időlimit túllépés580ms8492 KiB
41Időlimit túllépés580ms8776 KiB
42Elfogadva54ms8732 KiB
43Időlimit túllépés578ms9448 KiB
44Időlimit túllépés578ms9412 KiB
45Időlimit túllépés578ms9420 KiB
46Időlimit túllépés587ms9428 KiB
47Időlimit túllépés589ms9528 KiB
48Időlimit túllépés591ms9316 KiB
49Időlimit túllépés591ms9424 KiB
50Időlimit túllépés588ms9432 KiB
51Időlimit túllépés577ms9428 KiB
52Időlimit túllépés578ms9616 KiB