이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "molecules.h"
#include <bits/stdc++.h>
using namespace std;
std::vector<int> find_subset(int l, int u, std::vector<int> w) {
//return std::vector<int>(0);
int leva=-1, desna=-1;
vector<int>ans;
//sort(w.begin(), w.end());
int n = w.size();
vector <pair<int, int>>w2(n);
for(int i = 0; i<n; i++)w2[i]={w[i], i};
sort(w2.begin(), w2.end());
vector<long long>pref(n+1, 0);
for(int i = 1; i<=n; i++)pref[i]=pref[i-1]+w2[i-1].first;
for(int i = 1; i<=n; i++)
{
auto g = upper_bound(pref.begin(),pref.end(), pref[i]-l) - pref.begin();
//cout<<pref[i]<<" "<<g<<"\n";
if(g==0)continue;
if(pref[i]-pref[g-1]<=u)
{
leva = g;
desna = i;
break;
}
}
//cout<<leva<<" "<<desna<<"\n";
if(leva==-1 && desna==-1)
return vector<int>(0);
else
{
//cout<<"here\n";
for(int i = leva; i<=desna; i++)ans.push_back(w2[i-1].second);
return ans;
}
}
# | 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... |