답안 #284608

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
284608 2020-08-27T17:29:52 Z triplem5ds Detecting Molecules (IOI16_molecules) C++14
컴파일 오류
0 ms 0 KB
#include "molecules.h"
#include "bits/stdc++.h"
using namespace std;
std::vector<int> find_subset(int l, int u, std::vector<int> w) {
    vector<int> v;
    for(int i = 0; i < w.size(); i++)v.push_back(i);
    sort(v.begin(),v.end(), [&](int x, int y){return w[x] < w[y];});
    if(accumulate(w.begin(),w.end(),0ll) < l || w[v[0]] > u)return vector<int>();
    ll sum = 0;
    for(int i = 0, j = 0; i < v.size(); i++){
      while(j < v.size() && sum < l)sum += w[v[j++]];
      if(sum >= l && sum <= u){
        vector<int> ret;
        for(int k = i; k < j; k++)
          ret.push_back(v[k]);
        return ret;
      }
      sum -= w[v[i]];
    }
    return vector<int>();
}

Compilation message

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:6:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    6 |     for(int i = 0; i < w.size(); i++)v.push_back(i);
      |                    ~~^~~~~~~~~~
molecules.cpp:9:5: error: 'll' was not declared in this scope; did you mean 'l'?
    9 |     ll sum = 0;
      |     ^~
      |     l
molecules.cpp:10:29: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   10 |     for(int i = 0, j = 0; i < v.size(); i++){
      |                           ~~^~~~~~~~~~
molecules.cpp:11:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   11 |       while(j < v.size() && sum < l)sum += w[v[j++]];
      |             ~~^~~~~~~~~~
molecules.cpp:11:29: error: 'sum' was not declared in this scope
   11 |       while(j < v.size() && sum < l)sum += w[v[j++]];
      |                             ^~~
molecules.cpp:12:10: error: 'sum' was not declared in this scope
   12 |       if(sum >= l && sum <= u){
      |          ^~~
molecules.cpp:18:7: error: 'sum' was not declared in this scope
   18 |       sum -= w[v[i]];
      |       ^~~