Submission #74321

#TimeUsernameProblemLanguageResultExecution timeMemory
74321DiuvenDetecting Molecules (IOI16_molecules)C++14
100 / 100
64 ms5552 KiB
#include "molecules.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef vector<int> vi; pair<int, int> A[200010]; int n; ll S[200010]; vi R; vi find_subset(int l, int r, vi W){ n=W.size(); for(int i=0; i<n; i++) A[i+1]={W[i], i}; sort(A+1, A+n+1); for(int i=1; i<=n; i++) S[i]=S[i-1]+A[i].first; for(int len=1; len<=n; len++){ ll mn=S[len], mx=S[n]-S[n-len]; if(mx<l || r<mn) continue; for(int i=0; i+len<=n; i++){ ll now=S[i+len]-S[i]; if(now<l || r<now) continue; for(int j=i+1; j<=i+len; j++) R.push_back(A[j].second); return R; } assert(false); } return R; }
#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...