Submission #70658348
Source Code Expand
#include <algorithm>
#include <iostream>
#include <vector>
#include <atcoder/all>
int main()
{
using namespace std;
using mint = atcoder::modint998244353;
int n, m, l;
cin >> n >> m >> l;
vector<mint> f(n + 1);
f[0] = 1;
auto push = [&](int x) {
for (int i = 0; i + x <= n; ++i) {
f[i + x] += f[i];
}
};
auto pop = [&](int x) {
for (int i = n + 1 - x; i-- > 0;) {
f[i + x] -= f[i];
}
};
// mi == 1
for (int x = 0; x < l; ++x) push(1 + x);
cout << f[n].val() << '\n';
for (int mi = 2; mi <= m - l + 1; ++mi) {
pop(mi - 1);
push(mi + l - 1);
cout << f[n].val() << '\n';
}
}
Submission Info
| Submission Time | |
|---|---|
| Task | G - Coin |
| User | wasd314 |
| Language | C++ 23 (gcc 12.2) |
| Score | 3 |
| Code Size | 749 Byte |
| Status | AC |
| Exec Time | 16 ms |
| Memory | 3572 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 3 / 3 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 00_sample_00.txt, 00_sample_01.txt |
| All | 00_sample_00.txt, 00_sample_01.txt, 01_random_00.txt, 01_random_01.txt, 01_random_02.txt, 01_random_03.txt, 02_max_00.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00_sample_00.txt | AC | 11 ms | 3504 KiB |
| 00_sample_01.txt | AC | 7 ms | 3488 KiB |
| 01_random_00.txt | AC | 8 ms | 3496 KiB |
| 01_random_01.txt | AC | 15 ms | 3440 KiB |
| 01_random_02.txt | AC | 7 ms | 3404 KiB |
| 01_random_03.txt | AC | 14 ms | 3536 KiB |
| 02_max_00.txt | AC | 16 ms | 3572 KiB |