Submission details
Task:Forth
Sender:Yytsi
Submission time:2025-10-17 18:35:00 +0300
Language:C++ (C++20)
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED100
Test results
testverdicttime
#1ACCEPTED0.00 sdetails
#2ACCEPTED0.00 sdetails
#3ACCEPTED0.00 sdetails
#4ACCEPTED0.00 sdetails
#5ACCEPTED0.00 sdetails
#6ACCEPTED0.00 sdetails
#7ACCEPTED0.00 sdetails
#8ACCEPTED0.00 sdetails
#9ACCEPTED0.00 sdetails
#10ACCEPTED0.00 sdetails
#11ACCEPTED0.00 sdetails
#12ACCEPTED0.00 sdetails
#13ACCEPTED0.00 sdetails

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:39:21: 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]
   39 |   for (int i = 0; i < ops.size(); i++) {
      |                   ~~^~~~~~~~~~~~
input/code.cpp:40:26: 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]
   40 |     cout << ops[i] << (i == ops.size()-1 ? "" : " ");
      |                        ~~^~~~~~~~~~~~~~~

Code

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
 
#ifdef LOCAL
#include "debug.hpp"
#else
#define debug(...) 0xffff
#endif
 
 
 
int main() {
  ios_base::sync_with_stdio(0); cin.tie(0);
  int x; cin>>x;
 
  // [1]
  // DUP [1, 1]
  // DUP [1, 1, 1]
  // 
 
  if (x == 1) return cout << "2\nDUP DROP", 0;
 
  // keep adding till it's x
  vector<string> ops = {"DUP"};
 
  int cur = 1;
  while (cur < x) {
    ops.push_back("DUP");
    ops.push_back("ROT");
    ops.push_back("+");
    ops.push_back("SWAP");
    cur++;
  }
 
  ops.push_back("DROP");
 
  cout << ops.size() <<"\n";
  for (int i = 0; i < ops.size(); i++) {
    cout << ops[i] << (i == ops.size()-1 ? "" : " ");
  }
}

Test details

Test 1

Verdict: ACCEPTED

input
1

correct output
2
DUP
DROP

user output
2
DUP DROP

Test 2

Verdict: ACCEPTED

input
2

correct output
2
DUP
+

user output
6
DUP DUP ROT + SWAP DROP

Test 3

Verdict: ACCEPTED

input
3

correct output
4
DUP
DUP
+
+

user output
10
DUP DUP ROT + SWAP DUP ROT + S...

Test 4

Verdict: ACCEPTED

input
4

correct output
6
DUP
DUP
DUP
+
...

user output
14
DUP DUP ROT + SWAP DUP ROT + S...

Test 5

Verdict: ACCEPTED

input
5

correct output
8
DUP
DUP
DUP
DUP
...

user output
18
DUP DUP ROT + SWAP DUP ROT + S...

Test 6

Verdict: ACCEPTED

input
10

correct output
18
DUP
DUP
DUP
DUP
...

user output
38
DUP DUP ROT + SWAP DUP ROT + S...

Test 7

Verdict: ACCEPTED

input
42

correct output
82
DUP
DUP
DUP
DUP
...

user output
166
DUP DUP ROT + SWAP DUP ROT + S...

Test 8

Verdict: ACCEPTED

input
64

correct output
126
DUP
DUP
DUP
DUP
...

user output
254
DUP DUP ROT + SWAP DUP ROT + S...

Test 9

Verdict: ACCEPTED

input
90

correct output
178
DUP
DUP
DUP
DUP
...

user output
358
DUP DUP ROT + SWAP DUP ROT + S...

Test 10

Verdict: ACCEPTED

input
98

correct output
194
DUP
DUP
DUP
DUP
...

user output
390
DUP DUP ROT + SWAP DUP ROT + S...

Test 11

Verdict: ACCEPTED

input
99

correct output
196
DUP
DUP
DUP
DUP
...

user output
394
DUP DUP ROT + SWAP DUP ROT + S...

Test 12

Verdict: ACCEPTED

input
100

correct output
198
DUP
DUP
DUP
DUP
...

user output
398
DUP DUP ROT + SWAP DUP ROT + S...

Test 13

Verdict: ACCEPTED

input
95

correct output
188
DUP
DUP
DUP
DUP
...

user output
378
DUP DUP ROT + SWAP DUP ROT + S...