답안 #284600

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
284600 2020-08-27T17:21:06 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>();
    vector<int> ret;
    int sum = 0;
    for(int j = 0; sum < l; j++){
      sum += w[v[j]];
      ret.push_back(v[j] + 1);
    }
    return ret;
}

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: In lambda function:
molecules.cpp:7:65: error: expected ';' before '}' token
    7 |     sort(v.begin(),v.end(), [&](int x, int y){return w[x] < w[y]});
      |                                                                 ^
      |                                                                 ;