# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1056539 | Vanilla | Floppy (RMI20_floppy) | C++17 | 1128 ms | 12104 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#include "floppy.h"
using namespace std;
void read_array(int subtask_id, const vector<int> &v) {
string s = "";
stack <int> st;
int n = v.size();
for (int i = 0; i < n; i++){
while (!st.empty() && v[i] > st.top()) {
st.pop();
s.push_back('0');
}
st.push(v[i]);
s.push_back('1');
}
save_to_floppy(s);
}
vector<int> solve_queries(int subtask_id, int n,
const string &bits,
const vector<int> &a, const vector<int> &b) {
stack <int> st;
st.push(-1);
vector <int> high(n);
int idx = 0;
for (char c: bits) {
if (c == '1') {
high[idx] = st.top();
st.push(idx++);
}
else {
st.pop();
}
}
vector <int> rs;
for (int i = 0; i < a.size(); i++){
int l = a[i], r = b[i], last = b[i];
while (r != high[r] && r >= l) {
last = r;
r = high[r];
}
rs.push_back(last);
}
return rs;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |