# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
303012 | 2020-09-19T18:06:20 Z | noob_c0de | Detecting Molecules (IOI16_molecules) | C++17 | 0 ms | 0 KB |
#include<bits/stdc++.h> #include "molecules.h" using namespace std; #define ar array #define int long long const int mxn=2e5+3; ar<int,2> a[mxn]; vector<int> find_subset(int l,int u,vector<int> w) { int n=w.size(); for (int i=0;i<n;i++) a[i][0]=w[i],a[i][1]=i; sort(a,a+n); vector<int> ans; int lf=0; int sum=0; for (int r=0;r<n;r++) { sum+=a[r][0]; if (sum>u) { sum-=a[lf][0]; lf++; } if (sum>=l) { for (int i=lf;i<=r;i++) ans.push_back(a[i][1]); return ans; } } return ans; }