Submission #489079

#TimeUsernameProblemLanguageResultExecution timeMemory
4890791neDetecting Molecules (IOI16_molecules)C++14
0 / 100
1 ms204 KiB
#include "molecules.h"
#include<bits/stdc++.h>
using namespace std;
std::vector<int> find_subset(int l, int u, std::vector<int> arr) {
    int n = arr.size();    
    vector<int64_t>pref(n+1,0);
    vector<pair<int,int>>brr(n);
    for (int i = 0;i<n;++i){
    	brr[i] = {arr[i],i};
    }
    sort(brr.begin(),brr.end());	
    for (int i = 0;i<n;++i){
    	pref[i+1] = pref[i] + brr[i].first;
    }
    vector<int>ans;
    int r = 0;
    for (int i = 0;i<=n;++i){
    	if (pref[i] - pref[r]>=l&&pref[i]-pref[r]<=u){
    	 	for (int j = r+1;j<=i;++j){
    	 	 ans.push_back(brr[j - 1].second);
    	 	 return ans;
    	 	}
    	}
    	while (r<i&&pref[i] - pref[r]>u){
    		++r;
    	}
    }
    return ans;
}
#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...