Submission #1000366

#TimeUsernameProblemLanguageResultExecution timeMemory
1000366GrayDetecting Molecules (IOI16_molecules)C++17
100 / 100
38 ms7260 KiB
#include <algorithm> #include <cassert> #include <cmath> #include <iomanip> #include <iostream> #include <stack> #include <vector> #define ll long long #define ld double #define ff first #define ss second #define ln "\n" using namespace std; const ll MOD = (ll)1e9+7; const ll INF = 2e18; vector<int> find_subset(int d, int u, vector<int> w){ ll n = w.size(); vector<pair<ll, ll>> iw(n); for (ll i=0; i<n; i++) iw[i] = {w[i], i}; sort(iw.begin(), iw.end()); ll l=0, r=0; ll sum=iw[0].ff; while (r<n){ if (sum<=u){ if (sum>=d){ vector<int> ans; ll rsum=0; for (ll i=l; i<=r; i++){ rsum+=iw[i].ff; ans.push_back(iw[i].ss); } assert(rsum<=u and rsum>=d); return ans; }else{ r++; sum+=iw[r].ff; } }else{ sum-=iw[l].ff; l++; } } return {}; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...