Submission #198353

#TimeUsernameProblemLanguageResultExecution timeMemory
198353Ruxandra985Detecting Molecules (IOI16_molecules)C++14
0 / 100
2 ms256 KiB
#include <bits/stdc++.h>
#include "molecules.h"
using namespace std;

vector <int> sol;
pair <int,int> x[200010];
vector <int> find_subset (int l , int u , vector <int> v){
    int i , sum;
    for (i=0;i<v.size();i++){
        x[i] = make_pair(v[i] , i);
    }
    sort (x , x + v.size());

    sum = 0;
    for (i = v.size() - 1 ; i>=0 ;i--){
        if (sum + x[i].first <= u && (sum + x[i].first >= l || sum + x[i].first + x[0].first <= u)){
            sum += x[i].first;
            sol.push_back(x[i].second);
        }
        if (sum >= l){
            return sol;
        }
    }
    sol.clear();


    sum = 0;
    for (i = 0 ; i<v.size() ;i++){
        if (sum + x[i].first <= u && (sum + x[i].first >= l || sum + x[i].first + x[i+1].first <= u)){
            sum += x[i].first;
            sol.push_back(x[i].second);
        }
        if (sum >= l){
            return sol;
        }
    }


    return sol; /// nu se poate;

}

Compilation message (stderr)

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:9:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (i=0;i<v.size();i++){
              ~^~~~~~~~~
molecules.cpp:28:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (i = 0 ; i<v.size() ;i++){
                  ~^~~~~~~~~
#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...