제출 #1338144

#제출 시각아이디문제언어결과실행 시간메모리
1338144cowwycowFloppy (RMI20_floppy)C++20
컴파일 에러
0 ms0 KiB
#pragma GCC optimize("O3")
#include <bits/stdc++.h>
#include "floppy.h"
using namespace std;
#define name "aaaaaa"
#define endl "\n"
#define fi first
#define se second
using ll = long long;
using db = double;
using pii = pair<int, int>;
using pll = pair<ll, ll>;
using pdb = pair<db, db>;
using ppii = pair<ll, pii>;
using ull = unsigned long long;
using vvi = vector<vector<int>>;

void read_array(int subtask_id, const vector<int> &v){
    string s;
    vector<int> st;
    for(int i = 0; i < v.size(); i++){
        while(!st.empty()){
            if(v[st.back()] < v[i]){
                st.pop_back();
                s += '0';
            }else{
                break;
            }
        }
        s += '1';
        st.push_back(i);
    }
    save_to_floppy(s);
}

vector<int> solve_queries(int subtask_id, int n, string bits, vector<int> a, vector<int> b){
    vector<vector<int>> lift(n, vector<int>(20, -1));
    vector<int> st;
    int id = -1;
    for(char c : bits){
        if(c == '0'){
            st.pop_back();
        }else{
            id++;
            if(!st.empty()) lift[id][0] = st.back();
            st.push_back(id);
        }
    }

    for(int i = 1; i < 20; i++){
        for(int j = 0; j < n; j++){
            if(lift[j][i - 1] != -1) lift[j][i] = lift[lift[j][i - 1]][i - 1];
        }
    }

    vector<int> ans(a.size());
    for(int i = 0; i < a.size(); i++){
        int l = a[i], r = b[i];
        for(int j = 19; j >= 0; j--){
            if(lift[r][j] >= l) r = lift[r][j];
        }
        ans[i] = r;
    }
    return ans;
}

컴파일 시 표준 에러 (stderr) 메시지

/usr/bin/ld: /tmp/ccWPapsA.o: in function `run2()':
stub.cpp:(.text+0xa46): undefined reference to `solve_queries(int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<int, std::allocator<int> > const&, std::vector<int, std::allocator<int> > const&)'
collect2: error: ld returned 1 exit status