# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1144125 | crispxx | Detecting Molecules (IOI16_molecules) | C++20 | 58 ms | 131072 KiB |
#include <bits/stdc++.h>
#include "molecules.h"
// #include "grader.cpp"
using namespace std;
#define all(x) x.begin(), x.end()
#define nl '\n'
vector<int> find_subset(int l, int u, vector<int> w) {
int n = w.size();
vector <vector<int>> dp(n + 1, vector<int> (u + 1));
dp[0][0] = 1;
for(int i = 0; i < n; i++) {
dp[i + 1] = dp[i];
for(int j = u; j >= w[i]; j--) {
dp[i + 1][j] |= dp[i][j - w[i]];
}
}
int j = -1;
for(int i = l; i <= u; i++) {
if(dp[n][i]) {
j = i;
break;
}
}
if(j == -1) return vector<int>(0);
vector<int> ans;
for(int i = n - 1; i >= 0; i--) {
if(!dp[i][j]) {
ans.push_back(i);
j -= w[i];
}
}
return ans;
}
/**
5 15 17
5 5 5 5 6
**/
컴파일 시 표준 에러 (stderr) 메시지
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |