# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1235735 | coco2311 | Detecting Molecules (IOI16_molecules) | C++17 | 33 ms | 5192 KiB |
#include "molecules.h"
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;
#define f first
#define s second
#define ll long long
std::vector<int> find_subset(int l, int u, std::vector<int> w) {
ll N=w.size();
pair<ll,ll> arr[N];
for(int i=0;i<N;i++){
arr[i].f=w[i];
arr[i].s=i;
}
sort(arr,arr+N);
ll sum=0;
ll it=N;
for(int i=N-1;i>=0;i--){
it=i;
sum+=arr[i].f;
if(sum>=l){
break;
}
}
if(it == 0 && sum<l){
return {};
}
ll x=N-1;
while(it>=0){
if(sum>=l && sum<=u){
vector<int> v;
for(int i=it;i<=x;i++){
v.push_back(arr[i].s);
}
return v;
}
if(it==0){
break;
}
sum-=arr[x].f;
sum+=arr[it-1].f;
it--;
x--;
}
return {};
}
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... |