제출 #1352422

#제출 시각아이디문제언어결과실행 시간메모리
1352422Alex1298Equalmex (CEOI25_equalmex)C++20
컴파일 에러
0 ms0 KiB
#include <iostream>
#include <vector>

using namespace std;

int frec[400005];

std::vector<int> solve(int n, std::vector<int> v, int q, std::vector<std::pair<int, int>> queries)
{
    vector<int> rez;
    for(auto it: queries)
    {
        int st = it.first;
        int dr = it.second;

        for(int i = st; i<=dr; i++)
        {
            frec[v[i]]++;
        }

        int mex = 0;
        for(int i = 1; i<=n + 1; i++)
        {
            if(frec[i] == 0)
            {
                mex = i;
                break;
            }
        }

        for(int i = st; i<=dr; i++)
        {
            frec[v[i]]--;
        }

        if(mex == 1)
        {
            rez.push_back(dr - st + 1);
            continue;
        }

        int i = st;
        int ans = 0;
        while(i <= dr)
        {
            int ramas = mex - 1;
            int j = i;
            while(j <= dr)
            {
                frec[v[j]]++;
                if(v[j] < mex && frec[v[j]] == 1)
                {
                    ramas--;
                }

                j++;
                if(ramas == 0)
                {
                    break;
                }
            }
            j--;

            if(ramas == 0)
            {
                ans++;
            }

            for(int k = i; k<=j; k++)
            {
                frec[v[k]]--;
            }
            i = j + 1;
        }

        rez.push_back(ans);
    }

    return rez;
}

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

/usr/bin/ld: /tmp/ccMT6A5o.o: in function `main':
grader.cpp:(.text.startup+0x2d5): undefined reference to `solve(int, std::vector<int, std::allocator<int> >&, int, std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > >&)'
collect2: error: ld returned 1 exit status