| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 1056607 | Vanilla | Floppy (RMI20_floppy) | C++17 | 60 ms | 13012 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;
struct query {
    int x,y,idx;
    bool operator < (const query& oth) const {
        return make_pair(-x, y) < make_pair(-oth.x, oth.y);
    }
};
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 <query> v;
    for (int i = 0; i < a.size(); i++){
        v.push_back({a[i], b[i], i});
    }
    sort(v.begin(), v.end());
    vector <int> rs(a.size());
    for (auto [l, r, idx]: v){
        vector <int> vals;
        int inir = r;
        int last = r;
        while (r != high[r] && r >= l) {
            vals.push_back(r);
            last = r;
            r = high[r];
        }
        for (int i = 0; i < (int) vals.size() - 1; i++){
            high[vals[i]] = vals.back();
        }
        rs[idx] = last;
    }
    // for (int i: rs) {
    //     cout << i << " ";
    // }
    // cout << "\n";
    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... | ||||
