답안 #282067

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
282067 2020-08-23T23:15:12 Z diegoangulo5 Detecting Molecules (IOI16_molecules) C++14
컴파일 오류
0 ms 0 KB
#include "molecules.h"
#include <bits/stdc++.h>

using namespace std;

vector<int> responder(vector<pair<int, int> > x, int a, int b){
    vector<int> res;
    for(;a<=b;a++){
        res.push_back(x[a].second);
    }
    sort(res.begin(), res.end());
    return res;
}

vector<int> find_subset(int l, int u, vector<int> w) {
    vector<pair<int, int> >x;
    for(int a=0;a<w.size();a++){
        x.push_back(make_pair(w[a], a));
    }
    sort(x.begin(), x.end());
    int a=0, b=0;
    int sum = x[a].first;
    int tam = x.size();
    while(1){
        if(sum >= l && sum <= u){
            return responder(x, a, b);
        }
        else if(sum > u){
            sum -= x[a].first;
            a++;
            if(a>b){
                b++;
                sum = x[b].first;
            }
        }
        else if(sum<l){
            b++;
            if(b==tam)return vector<int>();
            sum += x[b].first;
        }
    }
    return vector<int>(s);
}

Compilation message

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:17:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   17 |     for(int a=0;a<w.size();a++){
      |                 ~^~~~~~~~~
molecules.cpp:42:24: error: 's' was not declared in this scope
   42 |     return vector<int>(s);
      |                        ^