Submission #337337

#TimeUsernameProblemLanguageResultExecution timeMemory
337337aanjiDetecting Molecules (IOI16_molecules)C++17
0 / 100
1 ms384 KiB
#include "molecules.h"
#include <bits/stdc++.h>

using namespace std;
typedef long long ll;
vector<int> W;

vector<int> find_subset(int l, int r, vector<int> w) {
    vector<int> x(w.size()); W = w;
    iota(x.begin(), x.end(), 0);
    sort(x.begin(), x.end(), [](int a, int b) {
        return W[a] < W[b];
    });
    int a = 0, b = 1, s = w[0];
    while (b < w.size()) {
        if (s < l) {
            s += w[x[b++]];
        }
        else if (s > r) {
            s -= w[x[a++]];
        }
        else {
            vector<int> k;
            for (int i = a; i < b; i++) {
                k.push_back(x[i]);
            }
            return k;
        }
    }
    return {};
}

Compilation message (stderr)

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:15:14: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   15 |     while (b < w.size()) {
      |            ~~^~~~~~~~~~
#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...