Submission #494346

#TimeUsernameProblemLanguageResultExecution timeMemory
494346jasen_penchevFloppy (RMI20_floppy)C++14
Compilation error
0 ms0 KiB
#include "floppy.h" #include <iostream> #include <string> #include <vector> #define endl '\n' using namespace std; const int MAXN = 40000; int link[MAXN + 5]; void save_to_floppy(const string &bits); void read_array(int subtask_id, const vector<int> &v) { int n = v.size(); stack<int> st; st.push(-1); for (int i = 0; i < n; ++ i) { while (st.top() != -1 and v[st.top()] < v[i]) st.pop(); link[i] = st.top() + 1; st.push(i); } int cnt = 0, n0 = n; while (n0) { n0 /= 2; cnt++; } string bits = ""; for (int i = 0; i < n; ++ i) { string s = ""; int j = link[i]; while (j) { s = char(j % 2 + '0') + s; j /= 2; } while (s.size() < cnt) s = '0' + s; bits += s; } save_to_floppy(bits); } vector<int> solve_queries(int subtask_id, int n, const string &bits, const vector<int> &a, const vector<int> &b) { int cnt = 0, n0 = n; while (n0) { n0 /= 2; cnt++; } for (int i = 0; i < n; ++ i) { link[i] = 0; for (int j = i * cnt; j < (i + 1) * cnt; ++ j) { link[i] = link[i] * 2 + (bits[j] - '0'); } link[i]--; } vector<int> v; int m = a.size(); for (int i = 0; i < m; ++ i) { int pos = b[i]; while (link[pos] >= a[i]) pos = link[pos]; v.push_back(pos); } return v; }

Compilation message (stderr)

floppy.cpp: In function 'void read_array(int, const std::vector<int>&)':
floppy.cpp:17:5: error: 'stack' was not declared in this scope
   17 |     stack<int> st;
      |     ^~~~~
floppy.cpp:3:1: note: 'std::stack' is defined in header '<stack>'; did you forget to '#include <stack>'?
    2 | #include <iostream>
  +++ |+#include <stack>
    3 | #include <string>
floppy.cpp:17:11: error: expected primary-expression before 'int'
   17 |     stack<int> st;
      |           ^~~
floppy.cpp:18:5: error: 'st' was not declared in this scope; did you mean 'std'?
   18 |     st.push(-1);
      |     ^~
      |     std
floppy.cpp:43:25: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   43 |         while (s.size() < cnt) s = '0' + s;
      |                ~~~~~~~~~^~~~~
stub.cpp: In function 'void run2()':
stub.cpp:101:30: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
  101 |     if (query_answers.size() != M) {
      |         ~~~~~~~~~~~~~~~~~~~~~^~~~