| Task: | Program |
| Sender: | aalto25e_007 |
| Submission time: | 2025-10-01 17:31:57 +0300 |
| Language: | C++ (C++17) |
| Status: | READY |
| Result: | TIME LIMIT EXCEEDED |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | ACCEPTED | 0.00 s | details | |
| #2 | ACCEPTED | 0.00 s | details | |
| #3 | ACCEPTED | 0.00 s | details | |
| #4 | ACCEPTED | 0.00 s | details | |
| #5 | ACCEPTED | 0.00 s | details | |
| #6 | ACCEPTED | 0.00 s | details | |
| #7 | ACCEPTED | 0.00 s | details | |
| #8 | ACCEPTED | 0.00 s | details | |
| #9 | ACCEPTED | 0.00 s | details | |
| #10 | ACCEPTED | 0.00 s | details | |
| #11 | TIME LIMIT EXCEEDED | -- | details | |
| #12 | TIME LIMIT EXCEEDED | -- | details | |
| #13 | TIME LIMIT EXCEEDED | -- | details | |
| #14 | TIME LIMIT EXCEEDED | -- | details | |
| #15 | TIME LIMIT EXCEEDED | -- | details | |
| #16 | TIME LIMIT EXCEEDED | -- | details | |
| #17 | TIME LIMIT EXCEEDED | -- | details | |
| #18 | TIME LIMIT EXCEEDED | -- | details | |
| #19 | TIME LIMIT EXCEEDED | -- | details | |
| #20 | TIME LIMIT EXCEEDED | -- | details | |
| #21 | TIME LIMIT EXCEEDED | -- | details | |
| #22 | TIME LIMIT EXCEEDED | -- | details | |
| #23 | TIME LIMIT EXCEEDED | -- | details | |
| #24 | TIME LIMIT EXCEEDED | -- | details | |
| #25 | TIME LIMIT EXCEEDED | -- | details | |
| #26 | TIME LIMIT EXCEEDED | -- | details | |
| #27 | TIME LIMIT EXCEEDED | -- | details | |
| #28 | TIME LIMIT EXCEEDED | -- | details | |
| #29 | TIME LIMIT EXCEEDED | -- | details | |
| #30 | TIME LIMIT EXCEEDED | -- | details |
Compiler report
input/code.cpp: In function 'void algorithm(int, int, std::vector<std::__cxx11::basic_string<char> >, std::vector<std::__cxx11::basic_string<char> >&, int&)':
input/code.cpp:11:24: warning: comparison of integer expressions of different signedness: 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
11 | if (acc.size() < best_steps) {
| ~~~~~~~~~~~^~~~~~~~~~~~
input/code.cpp:16:25: warning: comparison of integer expressions of different signedness: 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
16 | else if (acc.size() < best_steps) {
| ~~~~~~~~~~~^~~~~~~~~~~~
input/code.cpp: In function 'int main()':
input/code.cpp:44:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
44...Code
#include <iostream>
#include <vector>
#include <climits>
using namespace std;
void algorithm(int n, int x, vector<string> acc, vector<string> &best_sol, int &best_steps)
{
if (x == n) {
acc.push_back("END");
if (acc.size() < best_steps) {
best_steps = acc.size();
best_sol = acc;
}
}
else if (acc.size() < best_steps) {
if (x + 3 <= n) {
acc.push_back("ADD");
algorithm(n, x + 3, acc, best_sol, best_steps);
acc.pop_back();
}
if (x * 2 <= n) {
acc.push_back("MUL");
algorithm(n, x * 2, acc, best_sol, best_steps);
acc.pop_back();
}
}
}
int main() {
int n;
cin >> n;
vector<string> acc;
vector<string> best_sol;
int best_steps = INT_MAX;
algorithm(n, 1, acc, best_sol, best_steps);
if (best_steps == INT_MAX)
cout << 0 << endl;
else {
cout << best_steps << endl;
for (int i = 0; i < best_sol.size(); ++i) {
cout << best_sol[i] << endl;
}
}
}Test details
Test 1
Group:
Verdict: ACCEPTED
| input |
|---|
| 58 |
| correct output |
|---|
| 8 MUL ADD MUL ADD ... |
| user output |
|---|
| 8 ADD ADD ADD ADD ... |
Test 2
Group:
Verdict: ACCEPTED
| input |
|---|
| 72 |
| correct output |
|---|
| 0 |
| user output |
|---|
| 0 |
Test 3
Group:
Verdict: ACCEPTED
| input |
|---|
| 83 |
| correct output |
|---|
| 8 MUL ADD MUL MUL ... |
| user output |
|---|
| 8 ADD ADD ADD MUL ... |
Test 4
Group:
Verdict: ACCEPTED
| input |
|---|
| 53 |
| correct output |
|---|
| 8 ADD MUL ADD MUL ... |
| user output |
|---|
| 8 ADD MUL ADD MUL ... |
Test 5
Group:
Verdict: ACCEPTED
| input |
|---|
| 100 |
| correct output |
|---|
| 8 ADD MUL ADD MUL ... |
| user output |
|---|
| 8 ADD MUL ADD MUL ... |
Test 6
Group:
Verdict: ACCEPTED
| input |
|---|
| 64 |
| correct output |
|---|
| 6 ADD MUL MUL MUL ... |
| user output |
|---|
| 6 ADD MUL MUL MUL ... |
Test 7
Group:
Verdict: ACCEPTED
| input |
|---|
| 84 |
| correct output |
|---|
| 0 |
| user output |
|---|
| 0 |
Test 8
Group:
Verdict: ACCEPTED
| input |
|---|
| 60 |
| correct output |
|---|
| 0 |
| user output |
|---|
| 0 |
Test 9
Group:
Verdict: ACCEPTED
| input |
|---|
| 51 |
| correct output |
|---|
| 0 |
| user output |
|---|
| 0 |
Test 10
Group:
Verdict: ACCEPTED
| input |
|---|
| 77 |
| correct output |
|---|
| 9 ADD ADD MUL ADD ... |
| user output |
|---|
| 9 ADD ADD MUL ADD ... |
Test 11
Group:
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 941694 |
| correct output |
|---|
| 0 |
| user output |
|---|
| (empty) |
Test 12
Group:
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 905674 |
| correct output |
|---|
| 30 MUL ADD MUL ADD ... |
| user output |
|---|
| (empty) |
Test 13
Group:
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 908426 |
| correct output |
|---|
| 29 ADD MUL ADD MUL ... |
| user output |
|---|
| (empty) |
Test 14
Group:
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 960500 |
| correct output |
|---|
| 31 ADD ADD MUL MUL ... |
| user output |
|---|
| (empty) |
Test 15
Group:
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 902101 |
| correct output |
|---|
| 27 MUL ADD MUL ADD ... |
| user output |
|---|
| (empty) |
Test 16
Group:
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 994208 |
| correct output |
|---|
| 27 ADD ADD MUL MUL ... |
| user output |
|---|
| (empty) |
Test 17
Group:
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 923538 |
| correct output |
|---|
| 0 |
| user output |
|---|
| (empty) |
Test 18
Group:
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 950287 |
| correct output |
|---|
| 24 MUL ADD MUL ADD ... |
| user output |
|---|
| (empty) |
Test 19
Group:
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 950516 |
| correct output |
|---|
| 29 ADD ADD MUL MUL ... |
| user output |
|---|
| (empty) |
Test 20
Group:
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 921882 |
| correct output |
|---|
| 0 |
| user output |
|---|
| (empty) |
Test 21
Group:
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 933942296856681219 |
| correct output |
|---|
| 0 |
| user output |
|---|
| (empty) |
Test 22
Group:
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 955775764385016720 |
| correct output |
|---|
| 0 |
| user output |
|---|
| (empty) |
Test 23
Group:
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 981578916796073406 |
| correct output |
|---|
| 0 |
| user output |
|---|
| (empty) |
Test 24
Group:
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 927875200723222396 |
| correct output |
|---|
| 94 MUL ADD MUL MUL ... |
| user output |
|---|
| (empty) |
Test 25
Group:
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 990125206148420558 |
| correct output |
|---|
| 84 ADD MUL ADD MUL ... |
| user output |
|---|
| (empty) |
Test 26
Group:
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 964804802247123102 |
| correct output |
|---|
| 0 |
| user output |
|---|
| (empty) |
Test 27
Group:
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 996610423667404231 |
| correct output |
|---|
| 96 MUL ADD MUL ADD ... |
| user output |
|---|
| (empty) |
Test 28
Group:
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 948665008088793691 |
| correct output |
|---|
| 86 MUL ADD MUL ADD ... |
| user output |
|---|
| (empty) |
Test 29
Group:
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 969397787818953279 |
| correct output |
|---|
| 0 |
| user output |
|---|
| (empty) |
Test 30
Group:
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 918471787211371085 |
| correct output |
|---|
| 90 ADD MUL ADD MUL ... |
| user output |
|---|
| (empty) |
