Submission #401851

#TimeUsernameProblemLanguageResultExecution timeMemory
401851raynaDetecting Molecules (IOI16_molecules)C++17
100 / 100
104 ms15016 KiB
#include <iostream> #include <fstream> #include <vector> #include <set> #include <list> #include <string> #include <queue> #include <math.h> #include <algorithm> using namespace std; typedef vector<int> vi; typedef set<int> si; typedef pair<int, int> pii; vector<int> find_subset(int l, int u, vector<int> w) { int n = w.size(); vi a[n]; for (int i=0; i<n; i++) { a[i] = {w[i], i}; } sort(a, a+n); vi out = {}; long long s = 0; int k = 0; for (int i=0; i<n; i++) { s += a[i][0]; if (s >= l) { if (s <= u) { //fill result with 0 to i, inc for (int j=0; j<=i; j++) { out.push_back(a[j][1]); } return out; } if (i == 0) { return out; } s -= a[i][0]; k = i-1; break; } } for (int i=1; i<(n-k); i++) { s -= a[i-1][0]; s += a[i+k][0]; if (s >= l) { for (int j=i; j<=(i+k); j++) { out.push_back(a[j][1]); } return out; } } return out; }
#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...