제출 #1163401

#제출 시각아이디문제언어결과실행 시간메모리
1163401AzaDetecting Molecules (IOI16_molecules)C++20
0 / 100
127 ms131072 KiB
//AzaLE (Azamat Alisherov)
#include <bits/stdc++.h>
//#include "molecules.h"
#define F first
#define S second
#define size(x) (int)x.size()
#define all(x) x.begin(),x.end()
using namespace std;
vector <int> find_subset(int l, int r, vector<int> v){
	int mx = r;
	vector <bool> dp1(r + 1, false);//Can we reach value?;
	vector <int> dp2(r + 1, -1);//Index we used to reach;
	vector <int> dp3(r + 1);//Difference between previous value
	dp1[0] = true;
	dp2[0] = -1;
	for(int i = 0; i < size(v); i++){
		int cur = v[i];
		for(int x = mx; x >= 0; x--){
			if(dp1[x] != 1e18){
				if(x + cur <= mx){
					dp1[x + cur] = true;
					dp2[x + cur] = i;
					dp3[x + cur] = cur;
					if(x + cur >= l and x + cur <= r){
						vector <int> ans;
						int curdx = x + cur;
						while(curdx > 0){
							ans.push_back(dp2[curdx]);
							curdx -= dp3[curdx];
						}
						return ans;
					}
				}
			}
		}
	}
	return {};
}
/*

*/

컴파일 시 표준 에러 (stderr) 메시지

molecules.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
molecules_c.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
#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...