Submission #297846

#TimeUsernameProblemLanguageResultExecution timeMemory
297846DovranDetecting Molecules (IOI16_molecules)C++11
0 / 100
1 ms384 KiB
#include <bits/stdc++.h>
#define N 1000009
#define pii pair <int, int>
#define ff first
#define sz() size()
#define ss second
#define pb push_back
#define ll long long

using namespace std;

int c[N], a[N], n;
vector<int> ans;

vector<int> find_subset(int l, int r, vector<int> v){
	n=v.sz();
	c[0]=1;
	for(int i=0; i<n; i++){
		for(int j=r; j>=0; j--){
			if(c[j]){
				c[j+v[i]]=1;
				if(!a[j+v[i]])a[j+v[i]]=i;
			}
		}
	}
	for(int i=l; i<=r; i++){
		if(c[i]){
			int x;
			int y=i;
			while(y>0)
				x=a[y], ans.pb(x), y-=v[x];
			
			break;
		}
	}
	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...