| 19855 | 2025-12-26 15:52:10 | marnorlor | Két ajándék | python3 | Time limit exceeded 60/100 | 593ms | 9668 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()
| Subtask | Sum | Test | Verdict | Time | Memory | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Accepted | 17ms | 3648 KiB | ||||
| 2 | Accepted | 48ms | 7788 KiB | ||||
| subtask2 | 10/10 | ||||||
| 3 | Accepted | 17ms | 3804 KiB | ||||
| 4 | Accepted | 17ms | 3484 KiB | ||||
| 5 | Accepted | 17ms | 3380 KiB | ||||
| 6 | Accepted | 17ms | 3380 KiB | ||||
| 7 | Accepted | 17ms | 3636 KiB | ||||
| subtask3 | 10/10 | ||||||
| 8 | Accepted | 17ms | 3624 KiB | ||||
| 9 | Accepted | 17ms | 3576 KiB | ||||
| 10 | Accepted | 17ms | 3380 KiB | ||||
| 11 | Accepted | 17ms | 3380 KiB | ||||
| 12 | Accepted | 17ms | 3636 KiB | ||||
| subtask4 | 20/20 | ||||||
| 13 | Accepted | 17ms | 3832 KiB | ||||
| 14 | Accepted | 17ms | 3632 KiB | ||||
| 15 | Accepted | 17ms | 3396 KiB | ||||
| 16 | Accepted | 17ms | 3612 KiB | ||||
| 17 | Accepted | 17ms | 3380 KiB | ||||
| 18 | Accepted | 17ms | 3620 KiB | ||||
| 19 | Accepted | 17ms | 3576 KiB | ||||
| 20 | Accepted | 17ms | 3628 KiB | ||||
| 21 | Accepted | 17ms | 3828 KiB | ||||
| 22 | Accepted | 17ms | 3404 KiB | ||||
| subtask5 | 10/10 | ||||||
| 23 | Accepted | 18ms | 3816 KiB | ||||
| 24 | Accepted | 19ms | 3560 KiB | ||||
| 25 | Accepted | 20ms | 3976 KiB | ||||
| 26 | Accepted | 20ms | 3960 KiB | ||||
| 27 | Accepted | 25ms | 4148 KiB | ||||
| subtask6 | 10/10 | ||||||
| 28 | Accepted | 24ms | 4644 KiB | ||||
| 29 | Accepted | 26ms | 4816 KiB | ||||
| 30 | Accepted | 24ms | 4628 KiB | ||||
| 31 | Accepted | 26ms | 4644 KiB | ||||
| 32 | Accepted | 25ms | 4744 KiB | ||||
| subtask7 | 0/10 | ||||||
| 33 | Time limit exceeded | 572ms | 7016 KiB | ||||
| 34 | Time limit exceeded | 572ms | 6792 KiB | ||||
| 35 | Time limit exceeded | 572ms | 6844 KiB | ||||
| 36 | Time limit exceeded | 573ms | 6844 KiB | ||||
| 37 | Time limit exceeded | 580ms | 6844 KiB | ||||
| subtask8 | 0/30 | ||||||
| 38 | Time limit exceeded | 587ms | 8096 KiB | ||||
| 39 | Time limit exceeded | 587ms | 8052 KiB | ||||
| 40 | Time limit exceeded | 587ms | 8284 KiB | ||||
| 41 | Time limit exceeded | 587ms | 8524 KiB | ||||
| 42 | Accepted | 50ms | 8860 KiB | ||||
| 43 | Time limit exceeded | 580ms | 9512 KiB | ||||
| 44 | Time limit exceeded | 582ms | 9432 KiB | ||||
| 45 | Time limit exceeded | 580ms | 9288 KiB | ||||
| 46 | Time limit exceeded | 583ms | 9432 KiB | ||||
| 47 | Time limit exceeded | 592ms | 9460 KiB | ||||
| 48 | Time limit exceeded | 593ms | 9432 KiB | ||||
| 49 | Time limit exceeded | 593ms | 9668 KiB | ||||
| 50 | Time limit exceeded | 578ms | 9620 KiB | ||||
| 51 | Time limit exceeded | 586ms | 9432 KiB | ||||
| 52 | Time limit exceeded | 587ms | 9432 KiB | ||||