| Task: | Robotti | 
| Sender: | noitamonni | 
| Submission time: | 2024-10-30 07:16:12 +0200 | 
| Language: | Python3 (CPython3) | 
| Status: | READY | 
| Result: | 0 | 
| group | verdict | score | 
|---|---|---|
| #1 | WRONG ANSWER | 0 | 
| #2 | WRONG ANSWER | 0 | 
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | ACCEPTED | 0.02 s | 1, 2 | details | 
| #2 | ACCEPTED | 0.02 s | 1, 2 | details | 
| #3 | WRONG ANSWER | 0.02 s | 1, 2 | details | 
| #4 | WRONG ANSWER | 0.02 s | 1, 2 | details | 
| #5 | WRONG ANSWER | 0.02 s | 1, 2 | details | 
| #6 | WRONG ANSWER | 0.02 s | 1, 2 | details | 
| #7 | WRONG ANSWER | 0.03 s | 1, 2 | details | 
| #8 | WRONG ANSWER | 0.02 s | 1, 2 | details | 
| #9 | WRONG ANSWER | 0.02 s | 1, 2 | details | 
| #10 | WRONG ANSWER | 0.07 s | 1, 2 | details | 
| #11 | WRONG ANSWER | 0.07 s | 1, 2 | details | 
| #12 | WRONG ANSWER | 0.07 s | 2 | details | 
| #13 | WRONG ANSWER | 0.07 s | 2 | details | 
| #14 | OUTPUT LIMIT EXCEEDED | 0.00 s | 2 | details | 
| #15 | OUTPUT LIMIT EXCEEDED | 0.00 s | 2 | details | 
| #16 | OUTPUT LIMIT EXCEEDED | 0.00 s | 2 | details | 
| #17 | ACCEPTED | 0.05 s | 2 | details | 
| #18 | OUTPUT LIMIT EXCEEDED | 0.00 s | 2 | details | 
| #19 | OUTPUT LIMIT EXCEEDED | 0.00 s | 2 | details | 
| #20 | WRONG ANSWER | 0.10 s | 2 | details | 
| #21 | WRONG ANSWER | 0.05 s | 2 | details | 
| #22 | OUTPUT LIMIT EXCEEDED | 0.00 s | 2 | details | 
| #23 | OUTPUT LIMIT EXCEEDED | 0.00 s | 2 | details | 
| #24 | OUTPUT LIMIT EXCEEDED | 0.00 s | 2 | details | 
Code
import sys
from collections import deque
n, building = sys.stdin.readlines()
total_steps = 0
total_coins = 0
pos = building.index('R')
left_coins = deque([i for i, x in enumerate(building) if x == '*' and i < pos])
right_coins = deque([i for i, x in enumerate(building) if x == '*' and i > pos])
left_coin = pos
right_coin = pos
left_dist = 0
right_dist = 0
# if only left or only right side contains coins, then always go to that coin
# calculate distance to add to steps
while len(left_coins) > 0 or len(right_coins) > 0:
    print(total_steps)
    print(total_coins)
    print(left_coin, left_coins)
    print(right_coin, right_coins)
    if left_coin == pos:
        if len(left_coins) == 0:
            left_coin = 999999999
        else:
            left_coin = left_coins.pop()
        
    if right_coin == pos:
        if len(right_coins) == 0:
            right_coin = 999999999
        else:
            right_coin = right_coins.popleft()
    left_dist = abs(left_coin - pos)
    right_dist = abs(right_coin - pos)
    if left_dist == right_dist:
        break
    elif left_dist < right_dist:
        total_steps += left_dist
        pos = left_coin
        
    else:
        total_steps += right_dist
        pos = right_coin
    
    total_coins += 1
print(total_steps, total_coins)
Test details
Test 1
Group: 1, 2
Verdict: ACCEPTED
| input | 
|---|
| 1 R  | 
| correct output | 
|---|
| 0 0 | 
| user output | 
|---|
| 0 0 | 
Test 2
Group: 1, 2
Verdict: ACCEPTED
| input | 
|---|
| 10 ...R......  | 
| correct output | 
|---|
| 0 0 | 
| user output | 
|---|
| 0 0 | 
Test 3
Group: 1, 2
Verdict: WRONG ANSWER
| input | 
|---|
| 10 **.R...***  | 
| correct output | 
|---|
| 12 5 | 
| user output | 
|---|
| 0 0 3 deque([0, 1]) 3 deque([7, 8, 9]) 2 ...  | 
Test 4
Group: 1, 2
Verdict: WRONG ANSWER
| input | 
|---|
| 10 ***R******  | 
| correct output | 
|---|
| 0 0 | 
| user output | 
|---|
| 0 0 3 deque([0, 1, 2]) 3 deque([4, 5, 6, 7, 8, 9]) 0 0  | 
Test 5
Group: 1, 2
Verdict: WRONG ANSWER
| input | 
|---|
| 1000 R................................  | 
| correct output | 
|---|
| 947 9 | 
| user output | 
|---|
| 0 0 0 deque([]) 0 deque([148, 226, 257, 428, 4...  | 
Test 6
Group: 1, 2
Verdict: WRONG ANSWER
| input | 
|---|
| 1000 .................................  | 
| correct output | 
|---|
| 886 9 | 
| user output | 
|---|
| 0 0 999 deque([113, 231, 529, 611,...  | 
Test 7
Group: 1, 2
Verdict: WRONG ANSWER
| input | 
|---|
| 1000 .....*..*....**..**..*......*....  | 
| correct output | 
|---|
| 1287 400 | 
| user output | 
|---|
| 0 0 700 deque([5, 8, 13, 14, 17, 1...  | 
Test 8
Group: 1, 2
Verdict: WRONG ANSWER
| input | 
|---|
| 1000 ************.*****************...  | 
| correct output | 
|---|
| 0 0 | 
| user output | 
|---|
| 0 0 314 deque([0, 1, 2, 3, 4, 5, 6...  | 
Test 9
Group: 1, 2
Verdict: WRONG ANSWER
| input | 
|---|
| 1000 ******************************...  | 
| correct output | 
|---|
| 0 0 | 
| user output | 
|---|
| 0 0 314 deque([0, 1, 2, 3, 4, 5, 6...  | 
Test 10
Group: 1, 2
Verdict: WRONG ANSWER
| input | 
|---|
| 1000 R*****************************...  | 
| correct output | 
|---|
| 999 999 | 
| user output | 
|---|
| 0 0 0 deque([]) 0 deque([1, 2, 3, 4, 5, 6, 7, ...  | 
Test 11
Group: 1, 2
Verdict: WRONG ANSWER
| input | 
|---|
| 1000 ******************************...  | 
| correct output | 
|---|
| 999 999 | 
| user output | 
|---|
| 0 0 999 deque([0, 1, 2, 3, 4, 5, 6...  | 
Test 12
Group: 2
Verdict: WRONG ANSWER
| input | 
|---|
| 10000 .......**........*...........*...  | 
| correct output | 
|---|
| 10971 999 | 
| user output | 
|---|
| 0 0 999 deque([7, 8, 17, 29, 41, 5...  | 
Test 13
Group: 2
Verdict: WRONG ANSWER
| input | 
|---|
| 10000 *..*....*......*.....*..*........  | 
| correct output | 
|---|
| 9999 999 | 
| user output | 
|---|
| 0 0 9999 deque([0, 3, 8, 15, 21, 2...  | 
Test 14
Group: 2
Verdict: OUTPUT LIMIT EXCEEDED
| input | 
|---|
| 10000 *.*.*...**.*...*....**.**.**.....  | 
| correct output | 
|---|
| 18766 5000 | 
| user output | 
|---|
| (empty) | 
Test 15
Group: 2
Verdict: OUTPUT LIMIT EXCEEDED
| input | 
|---|
| 10000 R*****************************...  | 
| correct output | 
|---|
| 9999 9999 | 
| user output | 
|---|
| (empty) | 
Test 16
Group: 2
Verdict: OUTPUT LIMIT EXCEEDED
| input | 
|---|
| 10000 ******************************...  | 
| correct output | 
|---|
| 9999 9999 | 
| user output | 
|---|
| (empty) | 
Test 17
Group: 2
Verdict: ACCEPTED
| input | 
|---|
| 200000 .................................  | 
| correct output | 
|---|
| 0 0 | 
| user output | 
|---|
| 0 0 | 
Test 18
Group: 2
Verdict: OUTPUT LIMIT EXCEEDED
| input | 
|---|
| 200000 .................................  | 
| correct output | 
|---|
| 299934 10000 | 
| user output | 
|---|
| (empty) | 
Test 19
Group: 2
Verdict: OUTPUT LIMIT EXCEEDED
| input | 
|---|
| 200000 **.***....**..**.....***.*..*....  | 
| correct output | 
|---|
| 299998 100000 | 
| user output | 
|---|
| (empty) | 
Test 20
Group: 2
Verdict: WRONG ANSWER
| input | 
|---|
| 200000 ******************************...  | 
| correct output | 
|---|
| 0 0 | 
| user output | 
|---|
| 0 0 100000 deque([0, 1, 2, 3, 4, 5...  | 
Test 21
Group: 2
Verdict: WRONG ANSWER
| input | 
|---|
| 200000 R................................  | 
| correct output | 
|---|
| 133765 3 | 
| user output | 
|---|
| 0 0 0 deque([]) 0 deque([70142, 84564, 133765]...  | 
Test 22
Group: 2
Verdict: OUTPUT LIMIT EXCEEDED
| input | 
|---|
| 200000 R................................  | 
| correct output | 
|---|
| 199982 5000 | 
| user output | 
|---|
| (empty) | 
Test 23
Group: 2
Verdict: OUTPUT LIMIT EXCEEDED
| input | 
|---|
| 200000 R*****************************...  | 
| correct output | 
|---|
| 199999 199999 | 
| user output | 
|---|
| (empty) | 
Test 24
Group: 2
Verdict: OUTPUT LIMIT EXCEEDED
| input | 
|---|
| 200000 ******************************...  | 
| correct output | 
|---|
| 199999 199999 | 
| user output | 
|---|
| (empty) | 
