Submission #935787

#TimeUsernameProblemLanguageResultExecution timeMemory
935787SpyrosAlivDetecting Molecules (IOI16_molecules)C++14
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define pll pair<ll, ll>

vector<int> ans(int l, int r, vector<pll> w) {
    vector<int> a;
    for (int i = l; i < r; i++) {
        a.push_back(w[i].second);
    }
    return a;
}

vector<int> find_subset(int l, int u, vector<int> w) {
    int n = w.size();
    vector<pll> arr(n);
    for (int i = 0; i < n; i++) {
        arr[i].first = w[i];
        arr[i].second = i;
    }
    sort(arr.begin(), arr.end());
    int l = 0, r = 0;
    ll currSum = 0;
    while (r < n) {
        while (currSum < l && r < n) {
            currSum += arr[r++].first;
        }
        while (currSum > u && l < r) {
            currSum -= arr[l++].first;
        }
        if (currSum >= l && currSum <= u) {
            return ans(l, r, arr);
        }
        if (r < n) currSum += arr[r++].first;
    }
}

Compilation message (stderr)

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:22:9: error: declaration of 'int l' shadows a parameter
   22 |     int l = 0, r = 0;
      |         ^
molecules.cpp:14:29: note: 'int l' previously declared here
   14 | vector<int> find_subset(int l, int u, vector<int> w) {
      |                         ~~~~^
molecules.cpp:16:22: warning: control reaches end of non-void function [-Wreturn-type]
   16 |     vector<pll> arr(n);
      |                      ^