#include <bits/stdc++.h>
#include "molecules.h"
using namespace std;
#define getar(ar,n) for(ll i=0;i<n;++i) cin>>ar[i]
#define show(n) cout<<n<<'\n'
#define all(v) v.begin(), v.end()
#define br cout<<"\n"
#define pb push_back
#define nl '\n'
#define yes cout<<"YES\n"
#define no cout<<"NO\n"
#define ret return
#define ll long long
#define ld long double
#define sza(x) ((int)x.size())
#define fi first
#define se second
const int mxN = 1e5 + 5;
const ll MOD = 1e9 + 7;
const ll INF = 1e9;
const ld EPS = 1e-9;
vector<int> find_subset(int L,int R,vector<int> w){
int n=w.size();
vector<pair<int,int>> vec(n+1);
vector<int> pref(n+1,0);
for(int i=1;i<=n;++i){
vec[i]={w[i-1],i};
}
sort(all(vec));
for(int i=1;i<=n;++i) pref[i]=pref[i-1]+vec[i].fi;
vector<int> ans;
for(int i=1;i<=n;++i){
int st=i,en=n,sm=-1,p;
while(st<=en){
int mid=st+(en-st)/2;
if((pref[mid]-pref[i-1])<=R){
sm=pref[mid]-pref[i-1];
p=mid;
st=mid+1;
}else{
en=mid-1;
}
}
if(sm>=L&&sm<=R){
for(int j=i;j<=p;++j) ans.pb(vec[j].se);
return ans;
}
}
return ans;
}
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... |