Submission #170026

# Submission time Handle Problem Language Result Execution time Memory
170026 2019-12-23T17:49:57 Z whttt Detecting Molecules (IOI16_molecules) C++14
Compilation error
0 ms 0 KB

#include <iostream>
#include <vector>
#include <algorithm>
#define ll long long

#include "molecules.h"

using namespace std;

vector<ll> find_subset(int l, int u, vector<int> w){
    ll sum = 0;
    vector<ll> returnThis;
    vector<pair<ll, ll>> sol;
    for(ll i = 0;i < w.size();i++){
        sol.push_back({w[i],i});
    }
    sort(sol.begin(), sol.end());
    for(ll i = 0;i < sol.size();i++){
        sum += sol[i].first;
        //cout << sum << endl;
        if(sum <= u && sum >= l){
            for(ll j = 0;j <= i;j++){
                returnThis.push_back(sol[j].second);
            }
            return returnThis;
        } else if(sum > l){
            sum -= sol[i].first;
            //cout << "prvych " << i << " nestaci" << endl;
            for(ll j = i;j < sol.size();j++){
                sum += sol[j].first-sol[j-i].first;
                //cout << sol[j].first << " priratane a " << sol[j-i].first << " odratane" << endl;
                if(sum <= u && sum >= l){
                    for(ll k = j-i+1;k <= i;k++){
                        returnThis.push_back(sol[k].second);
                    }
                    return returnThis;
                }
                if(j == sol.size()-1){
                    return {};
                }
            }
        }
    }
    return {};
}

Compilation message

molecules.cpp: In function 'std::vector<long long int> find_subset(int, int, std::vector<int>)':
molecules.cpp:12:12: error: ambiguating new declaration of 'std::vector<long long int> find_subset(int, int, std::vector<int>)'
 vector<ll> find_subset(int l, int u, vector<int> w){
            ^~~~~~~~~~~
In file included from molecules.cpp:8:0:
molecules.h:5:18: note: old declaration 'std::vector<int> find_subset(int, int, std::vector<int>)'
 std::vector<int> find_subset(int l, int u, std::vector<int> w);
                  ^~~~~~~~~~~
molecules.cpp:16:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(ll i = 0;i < w.size();i++){
                  ~~^~~~~~~~~~
molecules.cpp:20:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(ll i = 0;i < sol.size();i++){
                  ~~^~~~~~~~~~~~
molecules.cpp:31:28: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for(ll j = i;j < sol.size();j++){
                          ~~^~~~~~~~~~~~
molecules.cpp:40:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                 if(j == sol.size()-1){
                    ~~^~~~~~~~~~~~~~~