Submission #282065

# Submission time Handle Problem Language Result Execution time Memory
282065 2020-08-23T23:14:12 Z diegoangulo5 Detecting Molecules (IOI16_molecules) C++14
Compilation error
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(a<=b){
        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];
            }
        }
        else if(sum<l){
            b++;
            if(b==tam)return vector<int>();
            sum += x[b].first;
        }
    }
    return vector<int>(5, 6);
}

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:33:26: error: cannot convert '__gnu_cxx::__alloc_traits<std::allocator<std::pair<int, int> >, std::pair<int, int> >::value_type' {aka 'std::pair<int, int>'} to 'int' in assignment
   33 |                 sum = x[b];
      |                          ^