Submission #654703

#TimeUsernameProblemLanguageResultExecution timeMemory
654703atigunDetecting Molecules (IOI16_molecules)C++14
0 / 100
1 ms212 KiB
#include<bits/stdc++.h> #include"molecules.h" using namespace std; typedef long long ll; vector<int> find_subset(int l, int u, vector<int> w){ int n = w.size(); vector<pair<int, int>> P(n+5); vector<int> ret; for(int i = 1; i <= n; i++) P[i] = make_pair(w[i-1], i); sort(P.begin()+1, P.begin()+n+1); vector<ll> prefix(n+5), suffix(n+5); for(int i = 1; i <= n; i++) prefix[i] = prefix[i-1]+P[i].first; for(int i = n; i >= 1; i--) suffix[i] = suffix[i+1]+P[i].first; for(int k = 1; k <= n; k++){ if(prefix[k] <= u && suffix[k] >= l){ int L = 1, R = k; ll sum = prefix[k]; while(R <= n){ if(sum <= u && sum >= l){ for(int i = L; i <= R; i++) ret.push_back(P[i].second); return ret; } sum+= P[R+1].first; sum-= P[L].first; L++, R++; } } } return ret; }
#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...