Submission #975831

#TimeUsernameProblemLanguageResultExecution timeMemory
975831ShaShiDetecting Molecules (IOI16_molecules)C++17
0 / 100
1 ms348 KiB
#include "molecules.h" #include <bits/stdc++.h> #define pii pair<int, int> #define F first #define S second #define mp make_pair #define pb push_back #define all(x) x.begin(), x.end() using namespace std; typedef long long ll; const int MAXN = (int)1e6 + 7; const ll INF = (ll)1e18 + 7; int n, m, tmp, tmp2, ans; vector<pii> vec; ll ps[MAXN]; set<ll> st; vector<int> find_subset(int l, int u, vector<int> w) { n = w.size(); vec.clear(); st.clear(); vector<int> res; for (int i=0; i<n; i++) vec.pb(mp(w[i], i+1)); sort(all(vec)); ps[0] = 0; for (int i=1; i<=n; i++) { ps[i] = ps[i-1]+vec[i-1].F; st.insert(ps[i]); } st.insert(INF); for (int i=1; i<=n; i++) { if ((*st.lower_bound(ps[i-1]+l)) <= ps[i-1]+u) { ans = 0; for (int j=i; ; j++) { ans += vec[j-1].F; res.pb(vec[j-1].S); if (ans >= l) return res; } } } return vector<int>(); }
#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...