답안 #229424

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
229424 2020-05-04T12:45:23 Z nickmet2004 Detecting Molecules (IOI16_molecules) C++11
컴파일 오류
0 ms 0 KB
#include<bits/stdc++.h>
#include<molecules.h>

#define ll long long

using namespace std;

const int N = 2e5 + 500;
long long pr[N];

vector<int> find_subset(int l , int u , vector<int> w){
    int n = w.size();
    pr[0] = w[0];
    for(int i = 1; i < n; ++i){
        pr[i] = pr[i - 1] + w[i];
    }
    vector<int> res; res.resize(0);
    for(int i = 0; i < n; ++i){
        int x = pr[i] - l;
        int lw = 0 , rh = i;
        ll ans = -1;
        while(lw <= rh){
            int m =(lw + hw) >> 1;
            if(w[m] <= x){
                ans = m;
                l = m + 1;
            } else {
                r = m - 1;
            }
        }
        if(ans != -1){
            if(w[ans] >= l && w[ans] <= u){
                for(int k = ans; k <= i; ++i){
                    res.emplace_back(w[k]);
                }return res;
            }
        }
    }
    return res;
}

Compilation message

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:23:26: error: 'hw' was not declared in this scope
             int m =(lw + hw) >> 1;
                          ^~
molecules.cpp:23:26: note: suggested alternative: 'lw'
             int m =(lw + hw) >> 1;
                          ^~
                          lw
molecules.cpp:28:17: error: 'r' was not declared in this scope
                 r = m - 1;
                 ^