Task: | Robotti |
Sender: | Pikaksi |
Submission time: | 2024-10-28 20:09:13 +0200 |
Language: | C++ (C++20) |
Status: | READY |
Result: | 0 |
group | verdict | score |
---|---|---|
#1 | TIME LIMIT EXCEEDED | 0 |
#2 | TIME LIMIT EXCEEDED | 0 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | TIME LIMIT EXCEEDED | -- | 1, 2 | details |
#2 | TIME LIMIT EXCEEDED | -- | 1, 2 | details |
#3 | RUNTIME ERROR | 0.00 s | 1, 2 | details |
#4 | WRONG ANSWER | 0.00 s | 1, 2 | details |
#5 | WRONG ANSWER | 0.00 s | 1, 2 | details |
#6 | RUNTIME ERROR | 0.00 s | 1, 2 | details |
#7 | WRONG ANSWER | 0.00 s | 1, 2 | details |
#8 | WRONG ANSWER | 0.00 s | 1, 2 | details |
#9 | WRONG ANSWER | 0.00 s | 1, 2 | details |
#10 | WRONG ANSWER | 0.00 s | 1, 2 | details |
#11 | RUNTIME ERROR | 0.00 s | 1, 2 | details |
#12 | RUNTIME ERROR | 0.00 s | 2 | details |
#13 | RUNTIME ERROR | 0.00 s | 2 | details |
#14 | RUNTIME ERROR | 0.01 s | 2 | details |
#15 | WRONG ANSWER | 0.01 s | 2 | details |
#16 | RUNTIME ERROR | 0.01 s | 2 | details |
#17 | TIME LIMIT EXCEEDED | -- | 2 | details |
#18 | RUNTIME ERROR | 0.01 s | 2 | details |
#19 | RUNTIME ERROR | 0.04 s | 2 | details |
#20 | WRONG ANSWER | 0.07 s | 2 | details |
#21 | WRONG ANSWER | 0.01 s | 2 | details |
#22 | WRONG ANSWER | 0.01 s | 2 | details |
#23 | WRONG ANSWER | 0.08 s | 2 | details |
#24 | RUNTIME ERROR | 0.07 s | 2 | details |
Compiler report
input/code.cpp: In function 'int main()': input/code.cpp:16:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare] 16 | for (int i = 0; i < input.size(); i++) { | ~~^~~~~~~~~~~~~~ input/code.cpp:27:38: warning: 'robotClosest' may be used uninitialized in this function [-Wmaybe-uninitialized] 27 | for (int i = 0; i < robotClosest - 1; i++) { | ~~~~~~~~~~~~~^~~ input/code.cpp:108:29: warning: 'robotPlace' may be used uninitialized in this function [-Wmaybe-uninitialized] 108 | moved += abs(robotPlace - *close); | ~~~^~~~~~~~~~~~~~~~~~~~~
Code
#include <bits/stdc++.h>int main(){uint64_t moved = 0, coins = 0;int a;std::cin >> a;std::string input;// = "**.*......*.R*...*..";std::cin >> input;std::set<int> rooms;int robotPlace;int robotClosest;for (int i = 0; i < input.size(); i++) {if (input[i] == '*') {rooms.insert(i);}else if (input[i] == 'R') {robotPlace = i;robotClosest = rooms.size();}}std::set<int>::iterator close = rooms.begin();for (int i = 0; i < robotClosest - 1; i++) {close++;}/*for (int number : rooms) {std::cout << "number = " << number << "\n";}std::cout << robotPlace << "\n";std::cout << robotClosest << "\n";return 0;*/while (true) {std::cout << "loop\n";if (*close < robotPlace) {if (close != rooms.begin()) {std::cout << robotPlace << " " << *close << "\n";int d1 = abs(robotPlace - *close);close++;int d2 = abs(robotPlace - *close);close--;std::cout << d1 << " " << d2 << "\n";if (d2 == d1) {break;}else if (d1 < d2) {moved += d1;coins += 1;robotPlace = *close;rooms.erase(close);close++;}else {moved += d2;coins++;close++;robotPlace = *close;rooms.erase(close);close--;}}else {moved += abs(robotPlace - *close);coins++;rooms.erase(close);robotPlace = *close;}}else {if (close != rooms.begin()) {std::cout << robotPlace << " " << *close << "\n";int d1 = abs(robotPlace - *close);close--;int d2 = abs(robotPlace - *close);close++;std::cout << d1 << " " << d2 << "\n";if (d2 == d1) {break;}else if (d1 < d2) {moved += d1;coins += 1;robotPlace = *close;rooms.erase(close);close--;}else {moved += d2;coins++;close--;robotPlace = *close;rooms.erase(close);close++;}}else {moved += abs(robotPlace - *close);coins++;rooms.erase(close++);robotPlace = *close;}}if (rooms.size() == 1) {moved += abs(robotPlace - *close);coins += 1;break;}}std::cout << moved << " " << coins;}
Test details
Test 1
Group: 1, 2
Verdict: TIME LIMIT EXCEEDED
input |
---|
1 R |
correct output |
---|
0 0 |
user output |
---|
(empty) |
Test 2
Group: 1, 2
Verdict: TIME LIMIT EXCEEDED
input |
---|
10 ...R...... |
correct output |
---|
0 0 |
user output |
---|
(empty) |
Test 3
Group: 1, 2
Verdict: RUNTIME ERROR
input |
---|
10 **.R...*** |
correct output |
---|
12 5 |
user output |
---|
(empty) |
Test 4
Group: 1, 2
Verdict: WRONG ANSWER
input |
---|
10 ***R****** |
correct output |
---|
0 0 |
user output |
---|
loop 3 2 1 1 0 0 |
Test 5
Group: 1, 2
Verdict: WRONG ANSWER
input |
---|
1000 R................................ |
correct output |
---|
947 9 |
user output |
---|
loop loop loop loop loop ... |
Test 6
Group: 1, 2
Verdict: RUNTIME ERROR
input |
---|
1000 ................................. |
correct output |
---|
886 9 |
user output |
---|
(empty) |
Test 7
Group: 1, 2
Verdict: WRONG ANSWER
input |
---|
1000 .....*..*....**..**..*......*.... |
correct output |
---|
1287 400 |
user output |
---|
loop 700 698 2 3 loop 698 706 ... |
Test 8
Group: 1, 2
Verdict: WRONG ANSWER
input |
---|
1000 ************.*****************... |
correct output |
---|
0 0 |
user output |
---|
loop 314 313 1 1 0 0 |
Test 9
Group: 1, 2
Verdict: WRONG ANSWER
input |
---|
1000 ******************************... |
correct output |
---|
0 0 |
user output |
---|
loop 314 313 1 1 0 0 |
Test 10
Group: 1, 2
Verdict: WRONG ANSWER
input |
---|
1000 R*****************************... |
correct output |
---|
999 999 |
user output |
---|
loop loop loop loop loop ... |
Test 11
Group: 1, 2
Verdict: RUNTIME ERROR
input |
---|
1000 ******************************... |
correct output |
---|
999 999 |
user output |
---|
(empty) |
Error:
free(): invalid pointer
Test 12
Group: 2
Verdict: RUNTIME ERROR
input |
---|
10000 .......**........*...........*... |
correct output |
---|
10971 999 |
user output |
---|
(empty) |
Test 13
Group: 2
Verdict: RUNTIME ERROR
input |
---|
10000 *..*....*......*.....*..*........ |
correct output |
---|
9999 999 |
user output |
---|
(empty) |
Test 14
Group: 2
Verdict: RUNTIME ERROR
input |
---|
10000 *.*.*...**.*...*....**.**.**..... |
correct output |
---|
18766 5000 |
user output |
---|
(empty) |
Test 15
Group: 2
Verdict: WRONG ANSWER
input |
---|
10000 R*****************************... |
correct output |
---|
9999 9999 |
user output |
---|
loop loop loop loop loop ... |
Test 16
Group: 2
Verdict: RUNTIME ERROR
input |
---|
10000 ******************************... |
correct output |
---|
9999 9999 |
user output |
---|
(empty) |
Error:
free(): invalid pointer
Test 17
Group: 2
Verdict: TIME LIMIT EXCEEDED
input |
---|
200000 ................................. |
correct output |
---|
0 0 |
user output |
---|
(empty) |
Test 18
Group: 2
Verdict: RUNTIME ERROR
input |
---|
200000 ................................. |
correct output |
---|
299934 10000 |
user output |
---|
(empty) |
Test 19
Group: 2
Verdict: RUNTIME ERROR
input |
---|
200000 **.***....**..**.....***.*..*.... |
correct output |
---|
299998 100000 |
user output |
---|
(empty) |
Test 20
Group: 2
Verdict: WRONG ANSWER
input |
---|
200000 ******************************... |
correct output |
---|
0 0 |
user output |
---|
loop 100000 99999 1 1 0 0 |
Test 21
Group: 2
Verdict: WRONG ANSWER
input |
---|
200000 R................................ |
correct output |
---|
133765 3 |
user output |
---|
loop loop 70142 3 |
Test 22
Group: 2
Verdict: WRONG ANSWER
input |
---|
200000 R................................ |
correct output |
---|
199982 5000 |
user output |
---|
loop loop loop loop loop ... |
Test 23
Group: 2
Verdict: WRONG ANSWER
input |
---|
200000 R*****************************... |
correct output |
---|
199999 199999 |
user output |
---|
loop loop loop loop loop ... |
Test 24
Group: 2
Verdict: RUNTIME ERROR
input |
---|
200000 ******************************... |
correct output |
---|
199999 199999 |
user output |
---|
(empty) |
Error:
free(): invalid pointer