| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1355628 | ramzialoulou | Uplifting Excursion (BOI22_vault) | C++20 | 231 ms | 589824 KiB |
#include <bits/stdc++.h>
using namespace std;
const int N = int(6e5) + 9;
const int M = 109;
int dp[2 * M][2 * N];
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
int m;
cin >> m;
long long L;
cin >> L;
vector<int> a(2 * m + 1);
for (int i = -m; i <= m; i++) {
cin >> a[i + m];
}
for (int i = 0; i < 2 * M; i++) {
for (int j = 0; j < 2 * N; j++) {
dp[i][j] = -1;
}
}
dp[0][N] = 0;
for (int i = -m; i <= m; i++) {
for (int x = -N; x <= N; x++) {
if (dp[i + m][x + N] == -1) continue;
for (int j = 0; j <= a[i + m]; j++) {
int k = x + i * j;
if (-N <= k && k <= N) {
k += N;
dp[i + 1 + m][k] = max(dp[i + 1 + m][k], dp[i + m][x + N] + j);
}
}
}
}
L += N;
if (0 <= L && L <= 2 * N) {
if (dp[2 * m + 1][L] == -1) {
cout << "impossible" << '\n';
} else {
cout << dp[2 * m + 1][L] << '\n';
}
} else {
cout << "impossible" << '\n';
}
return 0;
}
컴파일 시 표준 에러 (stderr) 메시지
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
