답안 #139421

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
139421 2019-07-31T16:24:15 Z quotitquot Detecting Molecules (IOI16_molecules) C++14
컴파일 오류
0 ms 0 KB
#include "molecules.h"
#define ll long long
#define pb push_back
#define fr first
#define se second
using namespace std;

std::vector<int> find_subset(int l, int u, std::vector<int> w) {
    vector<int>res;
    ll now = 0;
    vector<pair<ll,ll>>V;
    for( int i = 0; i < w.size(); i ++ )
        V.pb( { w[i], i } );
    sort( V.begin(), V.end() );
    if( V[0].fr <= u )
    {
        for( int i = 0; i < V.size(); i ++ )
        {
            now += V[i].fr;
            res.pb( V[i].se );
            while( now > u )
            {
                now -= V[res[0]].fr;
                res.erase( res.begin() );
            }
            if( now >= l )
            {
                sort( res.begin(), res.end() );
                return res;
            }
        }
    }
    res.pb( 0 );
    return res;
}

Compilation message

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:12:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for( int i = 0; i < w.size(); i ++ )
                     ~~^~~~~~~~~~
molecules.cpp:14:5: error: 'sort' was not declared in this scope
     sort( V.begin(), V.end() );
     ^~~~
molecules.cpp:14:5: note: suggested alternative: 'short'
     sort( V.begin(), V.end() );
     ^~~~
     short
molecules.cpp:17:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for( int i = 0; i < V.size(); i ++ )
                         ~~^~~~~~~~~~