| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1345222 | ElayV13 | Detecting Molecules (IOI16_molecules) | C++20 | 1 ms | 344 KiB |
#include "molecules.h"
#include "bits/stdc++.h"
using namespace std;
vector<int>find_subset(int l,int u,vector<int>w)
{
int L=l;
int n=(int)w.size();
vector<pair<int,int>>srt;
for(int i=0;i<n;i++) srt.push_back({w[i],i});
sort(srt.begin(),srt.end());
vector<int>p(n);
p[0]=srt[0].first;
for(int i=1;i<n;i++) p[i]=p[i-1]+srt[i].first;
for(int i=0;i<n;i++){
int mns=((!i)?0:p[i-1]);
int cur_s=0;
int l=i,r=n-1,mn=n;
while(l<=r){
int mid=(l+r)>>1;
if(p[mid]-mns>=L){
mn=min(mn,mid);
r=mid-1;
}
else l=mid+1;
}
if(mn==n) continue;
int sum=p[mn]-mns;
if(sum<=u){
vector<int>res;
for(int j=i;j<=mn;j++) res.push_back(j);
return res;
}
}
return {};
}
| # | 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... | ||||
