Submission #1102178

#TimeUsernameProblemLanguageResultExecution timeMemory
1102178akzytrDetecting Molecules (IOI16_molecules)C++17
19 / 100
1 ms540 KiB
#include "molecules.h"
#include <bits/stdc++.h>
typedef long long ll;
using namespace std;

vector<int> find_subset(int l, int u, vector<int> w) {
	vector<int> result;

	int n = w.size();
	bitset<20002> dp;

	dp[0] = 1;

	for(int i = 0; i < n; i++) {
		dp |= (dp << w[i]);
	}

	for(int i = l; i <= u; i++) {
		if(dp[i]) {
			int cur_s = i;
			for(int i = n-1; i >=0; i--) {
				if(cur_s - w[i] >= 0 && dp[cur_s - w[i]]) {
					cur_s -= w[i];
					result.push_back(i);
				}
                if(cur_s == 0){
                    break;
                }
			}
            break;
		}
	}

	return result;
}
#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...