# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1138641 | tnknguyen_ | Detecting Molecules (IOI16_molecules) | C++20 | 0 ms | 0 KiB |
#include <bits/stdc++.h>
using namespace std;
#define endl '\n'
#define ll long long
#define len(s) (int)s.size()
#define int long long
#define pii pair<int, int>
#define fi first
#define se second
#define MASK(k) (1LL << (k))
vector<int> find_subset(int l, int u, vector<int> w){
int sum = 0, i = 0, j = 0;
bool ok = 0;
for(; i<len(w); ++i){
while(sum < l && j<len(w)){
sum += w[j];
++j;
}
if(l <= sum && sum <= u){
ok = 1;
break;
}
sum -= w[i];
}
vector<int> ans;
if(ok) for(int x=i; x<j; ++x) ans.push_back(x);
return ans;
}
// int32_t main() {
// ios_base::sync_with_stdio(0);
// cin.tie(0);
// cout.tie(0);
// freopen("main.inp","r",stdin);
// freopen("main.out","w",stdout);
// vector<int> v = find_subset(10, 20, {15, 17, 16, 18});
// for(int x : v) cout << x << ' ';
// return 0;
// }