#include "molecules.h"
#include <bits/stdc++.h>
#define ii pair<int, int>
#define fi first
#define se second
#define inf 0x3f3f3f3f3f3f3f3f
using namespace std;
using ll = long long;
const ll mod=1e9+7;
vector<int> find_subset(int l, int u, vector<int> a)
{
vector<int> res;
int n=a.size();
ll sum=0;
vector<pair<ll, int>> b;
b.resize(n);
for(int i = 0; i < n; i++)
b[i]={a[i], i};
int pos=-1;
for(int i = 0; i < n; i++)
if(a[i]>=l && a[i]<=u)
pos=i;
if(pos!=-1)
{
res.clear();
res.emplace_back(pos);
return res;
}
sort(b.begin(), b.end());
if(b[0].fi>u)
{
res.clear();
return res;
}
for(int i = 0; i < n; i++)
if(sum+b[i].fi<l) sum+=b[i].fi, res.emplace_back(b[i].se);
int lim=n, j=res.size()-1;
while(sum<l || sum>u)
{
ll tmp=sum-a[res[j]]+b[lim-1].fi;
sum=tmp, res[j]=b[lim-1].se;
lim--;
j--;
if(j<0) break;
}
if(sum>=l && sum<=u)
return res;
res.clear();
return res;
}
Compilation message (stderr)
molecules.h:1:9: warning: #pragma once in main file
1 | #pragma once
| ^~~~
molecules_c.h:1:9: warning: #pragma once in main file
1 | #pragma once
| ^~~~
# | 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... |