Submission #489070

#TimeUsernameProblemLanguageResultExecution timeMemory
4890701neDetecting Molecules (IOI16_molecules)C++14
9 / 100
2 ms716 KiB
#include "molecules.h"
#include<bits/stdc++.h>
using namespace std;
const int MXN = 500001;
std::vector<int> find_subset(int l, int u, std::vector<int> arr) {
    int n = arr.size();    
    bitset<MXN>dp;
    dp[0]=1;
    for (int i = 0;i<n;++i){     
    	dp|=(dp<<arr[i]);
    }
    int val =-1;
    for (int i = l;i<=u;++i){
    	if (dp[i]){
    		val = i;
    		break;
    	}
    }
    //cout<<val<<'\n';
    vector<int>ans;
    int index = n;  
    while(index>0&&val>0){
    	if (dp[val-arr[index-1]]){
    		ans.push_back(index-1);
    		val-=arr[index-1];
    	}
    	index--;
    }
    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...