제출 #397284

#제출 시각아이디문제언어결과실행 시간메모리
397284idk321The Big Prize (IOI17_prize)C++11
컴파일 에러
0 ms0 KiB
    #include "prize.h"
     
    #include <bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    int n;
     
    pair<int, vector<int>> differentRight(int a, vector<int> inf)
    {
      	int myb = b + 1;
        int b = min(n - 1, a + 200);
        int res = -1;
        vector<int> rinf;
        a++;
        while (a <= b)
        {
            int mid = (a + b) / 2;
            vector<int> cinf = ask(mid);
            if (cinf == inf)
            {
                a = mid + 1;
            } else
            {
                res = mid;
                rinf = cinf;
                b = mid - 1;
            }
        }
     	
      	if (res == -1)
        {
        	res = b + 1;
          	rinf = ask(res);
        }
        return {res, rinf};
    }
     
    int find_best(int N) {
        n = N;
        /*
        if (n <= 5000)
        {
            int res = -1;
            for (int i = 0; i < n; i++)
            {
                vector<int> v = ask(i);
                if (v[0] == 0 && v[1] == 0) res = i;
            }
     
            return res;
        } */
     
     
        int ca = 0;
        vector<int> inf = ask(0);
        vector<int> needed = {0, 0};
        while(inf != needed)
        {
            auto p1 = differentRight(ca, inf);
            ca = p1.first;
            inf = p1.second;
        }
     
     
     
    	return ca;
    }

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

prize.cpp: In function 'std::pair<int, std::vector<int> > differentRight(int, std::vector<int>)':
prize.cpp:10:18: error: 'b' was not declared in this scope
   10 |        int myb = b + 1;
      |                  ^
prize.cpp:10:12: warning: unused variable 'myb' [-Wunused-variable]
   10 |        int myb = b + 1;
      |            ^~~