# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1229507 | Tesla89 | Detecting Molecules (IOI16_molecules) | C++20 | 34 ms | 3656 KiB |
#include "molecules.h"
#include <algorithm>
#include <iostream>
using namespace std;
vector<int> find_subset(int l, int u, vector<int> w) {
int n=w.size();
vector<pair<int,int>>niz(n);
for(int i=0;i<n;i++)niz[i]={w[i],i};
sort(niz.begin(),niz.end());
long long sum=0,li=0,minv=niz[0].first,maxv;
for(int ri=0;ri<n;ri++){
maxv=niz[ri].first;
sum+=maxv;
while(li<ri&&(maxv-minv>u-l)||(sum>u)){
sum-=minv;
minv=niz[++li].first;
}
if(sum>=l&&sum<=u){
vector<int>res;
for(int i=li;i<=ri;i++)res.push_back(niz[i].second);
sort(res.begin(),res.end());
return res;
}
}
return vector<int>(0);
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |