CSES - Datatähti 2025 alku - Results
Submission details
Task:Robotti
Sender:UsernameEino
Submission time:2024-11-03 20:54:03 +0200
Language:Python3 (PyPy3)
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
Test results
testverdicttimegroup
#1ACCEPTED0.04 s1, 2details
#2ACCEPTED0.04 s1, 2details
#30.04 s1, 2details
#40.04 s1, 2details
#50.04 s1, 2details
#60.07 s1, 2details
#70.05 s1, 2details
#80.05 s1, 2details
#90.05 s1, 2details
#100.04 s1, 2details
#110.06 s1, 2details
#120.05 s2details
#130.09 s2details
#140.07 s2details
#150.06 s2details
#160.08 s2details
#17ACCEPTED0.06 s2details
#180.11 s2details
#190.45 s2details
#200.14 s2details
#210.06 s2details
#220.07 s2details
#23--2details
#240.20 s2details

Code

n=input()
m=input()

string = list(m)

global playing
playing = True

global rloc
rloc = 0

global pos
pos = 0

global matka
matka = 0

global kolik
kolik = 0

def etsir(x):
    global rloc
    for y in range(0,len(m)):
        if x[y] == 'R':
            rloc = y
            return y, 'R', rloc

def etsi(x):
    global rloc
    global pos
    pos = [pos for pos, char in enumerate(x) if char == '*']
    for y in range(0,len(pos)):
        print(y, pos[y], rloc)
        if pos[y] > rloc:
            pos.insert(y, rloc)
            rloc = y
            return
    pos.insert(len(pos),rloc)
    return pos

def vertailu(x):
    global rloc
    global pos
    global matka
    global kolik
    if rloc == len(pos)-1:
        matka=matka+pos[rloc]-pos[rloc-1]
        pos.pop(rloc)
        rloc=rloc-1
        kolik += 1
        return 1
    elif rloc == 0:
         matka=matka+pos[rloc+1]-pos[rloc]
         pos.pop(rloc)
         kolik += 1
         return 1
    elif pos[rloc]-pos[rloc-1] > pos[rloc+1]-pos[rloc]:
        matka = matka+pos[rloc+1]-pos[rloc]
        pos.pop(rloc)
        kolik += 1
        return 1
    elif pos[rloc]-pos[rloc-1] < pos[rloc+1]-pos[rloc]:
         matka = matka+pos[rloc]-pos[rloc-1]
         pos.pop(rloc)
         rloc = rloc-1
         kolik += 1
         return 1
    else:
        return -1

etsir(string)
etsi(m)

if len(pos) > 1:
    tulos = 1
else:
    tulos = -1
while tulos != -1:
   tulos = vertailu(1)
   if len(pos) == 1:
       tulos = -1

print(matka, kolik)

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:

input
10
**.R...***

correct output
12 5

user output
0 0 3
1 1 3
2 7 3
12 5

Test 4

Group: 1, 2

Verdict:

input
10
***R******

correct output
0 0

user output
0 0 3
1 1 3
2 2 3
3 4 3
0 0

Test 5

Group: 1, 2

Verdict:

input
1000
R................................

correct output
947 9

user output
0 148 0
947 9

Test 6

Group: 1, 2

Verdict:

input
1000
.................................

correct output
886 9

user output
0 113 999
1 231 999
2 529 999
3 611 999
4 708 999
...

Error:
Traceback (most recent call last):
  File "input/code.py", line 79, in <module>
    tulos = vertailu(1)
  File "input/code.py", line 57, in vertailu
    elif pos[rloc]-pos[rloc-1] > pos[rloc+1]-pos[rloc]:
IndexError: list index out of range

Test 7

Group: 1, 2

Verdict:

input
1000
.....*..*....**..**..*......*....

correct output
1287 400

user output
0 5 700
1 8 700
2 13 700
3 14 700
4 17 700
...

Test 8

Group: 1, 2

Verdict:

input
1000
************.*****************...

correct output
0 0

user output
0 0 314
1 1 314
2 2 314
3 3 314
4 4 314
...

Test 9

Group: 1, 2

Verdict:

input
1000
******************************...

correct output
0 0

user output
0 0 314
1 1 314
2 2 314
3 3 314
4 4 314
...

Test 10

Group: 1, 2

Verdict:

input
1000
R*****************************...

correct output
999 999

user output
0 1 0
999 999

Test 11

Group: 1, 2

Verdict:

input
1000
******************************...

correct output
999 999

user output
0 0 999
1 1 999
2 2 999
3 3 999
4 4 999
...

Test 12

Group: 2

Verdict:

input
10000
.......**........*...........*...

correct output
10971 999

user output
0 7 999
1 8 999
2 17 999
3 29 999
4 41 999
...

Test 13

Group: 2

Verdict:

input
10000
*..*....*......*.....*..*........

correct output
9999 999

user output
0 0 9999
1 3 9999
2 8 9999
3 15 9999
4 21 9999
...

Error:
Traceback (most recent call last):
  File "input/code.py", line 79, in <module>
    tulos = vertailu(1)
  File "input/code.py", line 57, in vertailu
    elif pos[rloc]-pos[rloc-1] > pos[rloc+1]-pos[rloc]:
IndexError: list index out of range

Test 14

Group: 2

Verdict:

input
10000
*.*.*...**.*...*....**.**.**.....

correct output
18766 5000

user output
0 0 1234
1 2 1234
2 4 1234
3 8 1234
4 9 1234
...

Test 15

Group: 2

Verdict:

input
10000
R*****************************...

correct output
9999 9999

user output
0 1 0
9999 9999

Test 16

Group: 2

Verdict:

input
10000
******************************...

correct output
9999 9999

user output
0 0 9999
1 1 9999
2 2 9999
3 3 9999
4 4 9999
...

Test 17

Group: 2

Verdict: ACCEPTED

input
200000
.................................

correct output
0 0

user output
0 0

Test 18

Group: 2

Verdict:

input
200000
.................................

correct output
299934 10000

user output
0 45 100000
1 48 100000
2 77 100000
3 80 100000
4 81 100000
...

Test 19

Group: 2

Verdict:

input
200000
**.***....**..**.....***.*..*....

correct output
299998 100000

user output
0 0 100000
1 1 100000
2 3 100000
3 4 100000
4 5 100000
...

Test 20

Group: 2

Verdict:

input
200000
******************************...

correct output
0 0

user output
0 0 100000
1 1 100000
2 2 100000
3 3 100000
4 4 100000
...

Test 21

Group: 2

Verdict:

input
200000
R................................

correct output
133765 3

user output
0 70142 0
133765 3

Test 22

Group: 2

Verdict:

input
200000
R................................

correct output
199982 5000

user output
0 66 0
199982 5000

Test 23

Group: 2

Verdict:

input
200000
R*****************************...

correct output
199999 199999

user output
(empty)

Test 24

Group: 2

Verdict:

input
200000
******************************...

correct output
199999 199999

user output
0 0 199999
1 1 199999
2 2 199999
3 3 199999
4 4 199999
...