Submission #798362

#TimeUsernameProblemLanguageResultExecution timeMemory
798362LiudasDetecting Molecules (IOI16_molecules)C++17
100 / 100
49 ms7152 KiB
#include <bits/stdc++.h>
 
using namespace std;
vector<int> find_subset(int L, int R, vector<int> M){
    long long N = M.size();
    vector<pair<long long, long long>> arr(N);
    for(long long i = 0; i < N; i ++){
        arr[i] = {M[i], i};
    }
    sort(arr.begin(), arr.end());
    long long l = 0, r = 0, S = 0;
    for(r; r < N; r ++){
        if(S + arr[r].first <= R){
            S += arr[r].first;
        }
        else{break;}
    }
    while(r < N && S < L){
        S -= arr[l++].first;
        S += arr[r++].first;
    }
    vector<int> p;
    if(L <= S && S <= R){
        for(long long i = l; i < r; i ++){
            p.push_back(arr[i].second);
        }
    }
    return p;
}

Compilation message (stderr)

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:12:9: warning: statement has no effect [-Wunused-value]
   12 |     for(r; r < N; r ++){
      |         ^
#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...