Submission #390289

#TimeUsernameProblemLanguageResultExecution timeMemory
390289faresbasbsDetecting Molecules (IOI16_molecules)C++14
100 / 100
60 ms6200 KiB
#include <bits/stdc++.h>
// #include "molecules.h"
using namespace std;

vector<int> find_subset(int l , int u , vector<int> w){
    vector<pair<int,int>> f;
    for(int i = 0 ; i < w.size() ; i += 1){
        f.push_back({w[i],i});
    }
    sort(f.begin(),f.end());
    long long sum = 0 , p = 0;
    for(int i = 0 ; i < w.size() ; i += 1){
        sum += f[i].first;
        while(sum > u){
            sum -= f[p].first;
            p += 1;
        }
        if(sum >= l && sum <= u){
            vector<int> ret;
            for(int j = p ; j <= i ; j += 1){
                ret.push_back(f[j].second);
            }
            return ret;
        }
    }
    return vector<int>(0);
}

/*int main(){
    vector<int> v = {6,8,8,7};
    vector<int> ret = find_subset(15,17,v);
    for(int i : ret){
        cout << i << " ";
    }cout << endl;
}*/

Compilation message (stderr)

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:7:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    7 |     for(int i = 0 ; i < w.size() ; i += 1){
      |                     ~~^~~~~~~~~~
molecules.cpp:12:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   12 |     for(int i = 0 ; i < w.size() ; i += 1){
      |                     ~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...