Task: | Robotti |
Sender: | osmukka |
Submission time: | 2024-11-04 18:01:46 +0200 |
Language: | C++ (C++17) |
Status: | COMPILE ERROR |
Compiler report
input/code.cpp: In function 'int main()': input/code.cpp:18:12: error: 'coin_rooms' was not declared in this scope 18 | if(coin_rooms[i] == 'R') | ^~~~~~~~~~ input/code.cpp:41:32: error: 'lcoin' was not declared in this scope; did you mean 'l_coin'? 41 | l_coin = l_coin >= 0 ? lcoin : 9999999; | ^~~~~ | l_coin input/code.cpp:51:19: error: request for member 'erase' in 'rooms', which is of non-class type 'char [200000]' 51 | rooms.erase(coin_rooms.begin()+robot_index); | ^~~~~ input/code.cpp:51:25: error: 'coin_rooms' was not declared in this scope 51 | rooms.erase(coin_rooms.begin()+robot_index); | ^~~~~~~~~~ input/code.cpp:58:19: error: request for member 'erase' in 'rooms', which is of non-class type 'char [200000]' 58 | rooms.erase(coin_rooms.begin()+robot_index); |...
Code
#include <iostream> #include <vector> #include <string> int main() { int amount = 0; char rooms[200000]; int robot_index = 0; int steps = 0; int coins = 0; std::cin >> amount; std::cin >> rooms; for(int i = 0; i < amount; i++) { if(coin_rooms[i] == 'R') { robot_index = i; } } int l_coin; int r_coin; int d_left; int d_right; while(1) { l_coin = robot_index-1; r_coin = robot_index+1; while(rooms[l_coin] != '*' and l_coin >= 0) { l_coin--; } while(rooms[r_coin] != '*' and r_coin <= amount) { r_coin++; } l_coin = l_coin >= 0 ? lcoin : 9999999; r_coin = r_coin <= amount ? r_coin : -9999999; d_left = robot_index - l_coin; d_right = r_coin - robot_index; if(d_left < d_right) { steps += d_left; rooms.erase(coin_rooms.begin()+robot_index); robot_index--; coins++; } else if(d_right < d_left) { steps += d_right; rooms.erase(coin_rooms.begin()+robot_index); coins++; } else if(d_left == d_right) { break; } } std::cout << steps << " " << coins << "\n"; return 0; }