# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
972735 | 2024-05-01T05:07:50 Z | vjudge1 | Detecting Molecules (IOI16_molecules) | C++17 | 0 ms | 0 KB |
#include <bits/stdc++.h> #include <sstream> #include "molecules.h" using namespace std; #define accepted ios_base::sync_with_stdio(false);cin.tie(nullptr); #define Daulbekov signed #define Makan main //#define int long long #define double long double #define pb push_back #define pf push_front #define F first #define S second const long long N=2e5+7; const long long MAX=9e18+7; const long long INF=1e18; vector<int>find_subset(int l,int u,vector<int>w){ long long n=w.size(); pair<long long,long long>w1[n+1]; for(long long i=0;i<n;i++){ w1[i].F=w[i]; w1[i].S=i; } sort(w1,w1+n); long long l1=0,r1=0,sum=w1[0].F; vector<long long>ans; ans.clear(); while(l1<n&&r1<n){ if(l<=sum&&sum<=u){ for(long long i=l1;i<=r1;i++)ans.pb(w1[i].S); break; } else if(l>sum){ r1++; sum+=w1[r1].F; } else if(sum>u){ sum-=w1[l1].F; l1++; } } return ans; } //Daulbekov Makan(){ // accepted; // //} // 2 2 4 // 2 2 2 // 3 2 1 3 2 1 3 3 // 3 2 1 3 2 1