Submission #686584

#TimeUsernameProblemLanguageResultExecution timeMemory
686584BliznetcDetecting Molecules (IOI16_molecules)C++17
0 / 100
1 ms308 KiB
#include "molecules.h" #include <bits/stdc++.h> using namespace std; #define pb push_back #define sz size() #define all(x) x.begin(), x.end() #define F first #define S second //#define int long long typedef pair < int, int > pii; typedef vector < int > vi; typedef vector < vi > vvi; std::vector<int> find_subset(int l, int u, std::vector<int> w) { int n = w.size(); pair<int,int> a[n + 7]; int sum = 0; for (int i = 0; i < n; i++) { a[i] = {w[i - 1], i + 1}; sum += a[i].F; } sort (a, a + n); if (sum < l) { return vector<int> (0); } int r = u; if (a[1].F > r) { return vector<int>(0); } int cur = 0; vector<int> result; int j = 0; int i = 0; deque <int> d; while (j < n) { if (cur < l) { cur += a[j].F; d.pb(a[j].S); j++; } if (cur > r) { cur -= a[i].F; d.pop_front(); i++; } if (cur >= l && cur <= r) { break; } } if (cur >= l && cur <= r) { return vector<int> (all(d)); } return vector<int> (0); }
#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...