Submission #1021228

#TimeUsernameProblemLanguageResultExecution timeMemory
1021228vjudge1Detecting Molecules (IOI16_molecules)C++17
100 / 100
39 ms5972 KiB
// #pragma once #include <bits/stdc++.h> using namespace std; typedef long long ll; int n; ll a[200100]; ll sum(int l, int r){ return a[r] - a[l-1]; } std::vector<int> find_subset(int L, int R, std::vector<int> w){ n = w.size(); for(int i = 0; i < n; i++){ a[i+1] = w[i]; } sort(a + 1, a + n + 1); for(int i = 1; i <= n; i++){ a[i] += a[i-1]; } for(int k = 1; k <= n; k++){ if(max(1ll * L, sum(1, k)) <= min(1ll * R, sum(n - k + 1, n))){ int i = 1; while(sum(i, i + k - 1) < L || sum(i, i + k - 1) > R){ i++; } multiset<int> s; for(int j = i; j < i + k; j++){ s.insert(a[j] - a[j-1]); } vector<int> res; for(int i = 0; i < n; i++){ if(s.count(w[i])){ s.erase(s.find(w[i])); res.push_back(i); } } return res; } } 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...