#include "molecules.h"
#include<bits/stdc++.h>
#define ll long long
#define F first
#define S second
using namespace std;
int n;
ll l,u,pre[200010],erp[200010];
pair<ll,int> w[200010];
vector<int> find_subset(int L, int U, vector<int> W) {
int n=W.size(),u=U,l=L;
for(int i=1;i<=n;i++){
w[i]={W[i-1],i-1};
}
sort(&w[1],&w[n+1]);
for(int i=1;i<=n;i++){
pre[i]=pre[i-1]+w[i].F;
}
for(int i=n;i>=1;i--){
erp[i]=erp[i+1]+w[i].F;
}
vector<int> ans;
for(int i=1;i<=n;i++){
if(pre[i]>u||erp[n-i+1]<l)continue;
int j=i;
while(pre[j-1]+erp[n-(i-j+1)+1]<l){
j--;
}
for(int k=1;k<j;k++){
ans.push_back(w[k].S);
}
for(int k=n-i+j+1;k<=n;k++){
ans.push_back(w[k].S);
}
for(int k=j;k<=n-i+j;k++){
ll sum=pre[j-1]+erp[n-i+j+1]+w[k].F;
if(sum>=l&&sum<=u){
ans.push_back(w[k].S);
break;
}
}
break;
}
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... |