| Task: | Tulkki |
| Sender: | Sukarth |
| Submission time: | 2025-10-29 07:39:17 +0200 |
| Language: | C++ (C++20) |
| Status: | READY |
| Result: | 0 |
| group | verdict | score |
|---|---|---|
| #1 | RUNTIME ERROR | 0 |
| #2 | RUNTIME ERROR | 0 |
| #3 | RUNTIME ERROR | 0 |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | ACCEPTED | 0.00 s | 1, 2, 3 | details |
| #2 | RUNTIME ERROR | 0.00 s | 1, 2, 3 | details |
| #3 | ACCEPTED | 0.00 s | 1, 2, 3 | details |
| #4 | ACCEPTED | 0.00 s | 1, 2, 3 | details |
| #5 | ACCEPTED | 0.01 s | 1, 2, 3 | details |
| #6 | ACCEPTED | 0.01 s | 1, 2, 3 | details |
| #7 | ACCEPTED | 0.00 s | 2, 3 | details |
| #8 | ACCEPTED | 0.00 s | 2, 3 | details |
| #9 | ACCEPTED | 0.00 s | 2, 3 | details |
| #10 | ACCEPTED | 0.00 s | 2, 3 | details |
| #11 | ACCEPTED | 0.00 s | 2, 3 | details |
| #12 | ACCEPTED | 0.00 s | 2, 3 | details |
| #13 | ACCEPTED | 0.00 s | 3 | details |
| #14 | WRONG ANSWER | 0.00 s | 3 | details |
| #15 | ACCEPTED | 0.05 s | 3 | details |
| #16 | ACCEPTED | 0.00 s | 3 | details |
| #17 | ACCEPTED | 0.07 s | 3 | details |
| #18 | ACCEPTED | 0.02 s | 3 | details |
Compiler report
input/code.cpp: In function 'void process(std::vector<std::vector<std::__cxx11::basic_string<char> > >&, ll&)':
input/code.cpp:10:25: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<std::vector<std::__cxx11::basic_string<char> > >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
10 | while (current_line < all_lines.size()) {
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
input/code.cpp:57:32: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<std::vector<std::__cxx11::basic_string<char> > >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
57 | while(current_line < all_lines.size() && parent_level > 0) {
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
input/code.cpp:36:16: warning: unused variable 'lvl' [-Wunused-variable]
36 | ll lvl = 0;
| ^~~Code
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
vector<char> varChars;
vector<ll> vars(26, 0);
string code;
void process(vector<vector<string>>& all_lines, ll& current_line) {
while (current_line < all_lines.size()) {
auto& words = all_lines[current_line];
if (words.empty()) {
current_line++;
continue;
}
string command = words[0];
if (command == ")") return;
char var_char = words[1][0];
ll &val = vars[find(varChars.begin(), varChars.end(), var_char) - varChars.begin()];
ll b = val;
if (command == "CLEAR") {
val = 0;
}
else if (command == "INCREASE") {
val++;
}
else if (command == "PRINT") {
cout << val << " ";
}
else if (command == "REPEAT") {
ll lvl = 0;
vector<string> block_lines;
string block_line;
ll block_start_line = current_line + 1;
if (words.size() > 2 && words[2] == "(") {
block_start_line = current_line + 1;
} else if (all_lines[current_line + 1][0] == "(") {
block_start_line = current_line + 2;
current_line++;
}
for (ll i = 0; i < b; i++) {
ll temp_line_ptr = block_start_line;
process(all_lines, temp_line_ptr);
}
ll parent_level = 1;
current_line++;
while(current_line < all_lines.size() && parent_level > 0) {
if (!all_lines[current_line].empty()) {
if (all_lines[current_line][0] == "REPEAT") parent_level++;
if (all_lines[current_line][0] == ")") parent_level--;
}
if (parent_level > 0) {
current_line++;
}
}
}
current_line++;
}
}
int main() {
vector<vector<string>> all_lines;
string line;
for (char c = 'A'; c <= 'Z'; ++c) {
varChars.push_back(c);
}
while (getline(cin, line)) {
auto comment_pos = line.find('#');
if (comment_pos != string::npos) {
line = line.substr(0, comment_pos);
}
stringstream lines(line);
string word;
vector<string> words;
while (lines >> word) {
if (word != "TIMES") {
words.push_back(word);
}
}
all_lines.push_back(words);
}
ll line_ptr = 0;
process(all_lines, line_ptr);
return 0;
}Test details
Test 1 (public)
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| PRINT X INCREASE X PRINT X INCREASE X PRINT X ... |
| correct output |
|---|
| 0 1 2 0 |
| user output |
|---|
| 0 1 2 0 |
Test 2 (public)
Group: 1, 2, 3
Verdict: RUNTIME ERROR
| input |
|---|
| INCREASE X # aybabtu PRINT X INCREASE # test ... |
| correct output |
|---|
| 1 3 |
| user output |
|---|
| (empty) |
Test 3 (public)
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| # Create number 3 INCREASE X INCREASE X INCREASE X ... |
| correct output |
|---|
| 3 |
| user output |
|---|
| 3 |
Test 4 (public)
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| INCREASE A PRINT A INCREASE B PRINT B INCREASE C ... |
| correct output |
|---|
| 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ... |
| user output |
|---|
| 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ... |
Test 5 (public)
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| INCREASE X INCREASE X INCREASE X INCREASE X INCREASE X ... |
| correct output |
|---|
| 999 |
| user output |
|---|
| 999 |
Test 6 (public)
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| PRINT X PRINT X PRINT X PRINT X PRINT X ... |
| correct output |
|---|
| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ... |
| user output |
|---|
| 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ... |
Test 7 (public)
Group: 2, 3
Verdict: ACCEPTED
| input |
|---|
| INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A ... |
| correct output |
|---|
| 5 5 5 5 5 |
| user output |
|---|
| 5 5 5 5 5 |
Test 8 (public)
Group: 2, 3
Verdict: ACCEPTED
| input |
|---|
| INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A ... |
| correct output |
|---|
| 0 0 0 0 0 |
| user output |
|---|
| 0 0 0 0 0 |
Test 9 (public)
Group: 2, 3
Verdict: ACCEPTED
| input |
|---|
| INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A ... |
| correct output |
|---|
| 6 7 8 9 10 |
| user output |
|---|
| 6 7 8 9 10 |
Test 10 (public)
Group: 2, 3
Verdict: ACCEPTED
| input |
|---|
| INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A ... |
| correct output |
|---|
| 5 5 |
| user output |
|---|
| 5 5 |
Test 11 (public)
Group: 2, 3
Verdict: ACCEPTED
| input |
|---|
| INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A ... |
| correct output |
|---|
| 20 |
| user output |
|---|
| 20 |
Test 12 (public)
Group: 2, 3
Verdict: ACCEPTED
| input |
|---|
| INCREASE A INCREASE A INCREASE B INCREASE B ... |
| correct output |
|---|
| 42 |
| user output |
|---|
| 42 |
Test 13 (public)
Group: 3
Verdict: ACCEPTED
| input |
|---|
| INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A ... |
| correct output |
|---|
| 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5 |
| user output |
|---|
| 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5 |
Test 14 (public)
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| # Create number 3 INCREASE A INCREASE A INCREASE... |
| correct output |
|---|
| 12 |
| user output |
|---|
| 0 |
Feedback: Incorrect character on line 1 col 1: expected "12", got "0"
Test 15 (public)
Group: 3
Verdict: ACCEPTED
| input |
|---|
| INCREASE X INCREASE X INCREASE X INCREASE X INCREASE X ... |
| correct output |
|---|
| 531441 |
| user output |
|---|
| 531441 |
Test 16 (public)
Group: 3
Verdict: ACCEPTED
| input |
|---|
| INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A ... |
| correct output |
|---|
| 1337 |
| user output |
|---|
| 1337 |
Test 17 (public)
Group: 3
Verdict: ACCEPTED
| input |
|---|
| INCREASE A INCREASE A REPEAT A TIMES ( REPEAT A TIMES ( ... |
| correct output |
|---|
| 1 2 1 2 1 1 3 4 3 4 3 4 3 4 3 ... |
| user output |
|---|
| 1 2 1 2 1 1 3 4 3 4 3 4 3 4 3 ... |
Test 18 (public)
Group: 3
Verdict: ACCEPTED
| input |
|---|
| # Efficient algorithm for find... |
| correct output |
|---|
| 2 3 5 7 11 13 17 19 23 29 31 3... |
| user output |
|---|
| 2 3 5 7 11 13 17 19 23 29 31 3... |
