답안 #794726

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
794726 2023-07-26T20:09:45 Z AbdullahMohammedAhmad Minerals (JOI19_minerals) C++14
컴파일 오류
0 ms 0 KB
#include "minerals.h"
#include <bits/stdc++.h>
using namespace std;
 
void Solve(int N) {
    deque<int> in;
    deque<int> order;
    int prev_ans = 0, ans = 0;
    for(int i = 1; i <= 2*N; i++){order.push_back(i);}
    while(!order.empty())
    {
      	ans = prevans = in.size();
        in.push_back(order.front());
        ans = Query(order.front());
        order.pop_front();
        if(ans != prev_ans){continue;}
        vector<int> toput;
        while(true)
        {
            prev_ans = ans;
            int now = in.front();
            ans = Query(now);
            in.pop_front();
            if(ans != prev_ans)
            {
                toput.push_back(now);
            }
            else
            {
                Answer(now, in.back());
                in.pop_back();
                break;
            }
        }
      	if(toput.empty())
        {continue;}
        int dist = (int)order.size()/(int)toput.size();
        int idx = dist;
        for(auto x : toput)
        {
            if(idx >= order.size()-1)
            {
                order.push_back(x);
                idx+=dist;
                continue;
            }
            order.insert(order.begin()+idx, x);
            idx+=dist;
        }
    }
}

Compilation message

minerals.cpp: In function 'void Solve(int)':
minerals.cpp:12:14: error: 'prevans' was not declared in this scope; did you mean 'prev_ans'?
   12 |        ans = prevans = in.size();
      |              ^~~~~~~
      |              prev_ans
minerals.cpp:41:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::deque<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   41 |             if(idx >= order.size()-1)
      |                ~~~~^~~~~~~~~~~~~~~~~