Submission #71014199
Source Code Expand
#include <bits/stdc++.h>
#include <atcoder/modint>
using namespace std;
using mint = atcoder::modint998244353;
int main () {
ios_base::sync_with_stdio(0); cin.tie(0);
int n;
cin >> n;
vector<int64_t> a(n);
for (auto& x: a) cin >> x;
sort(a.begin(), a.end());
vector<tuple<int64_t, int64_t, mint>> segs;
segs.emplace_back(0, 0, 1);
for (auto& x: a) {
int sz = (int)segs.size();
segs.reserve(2*sz);
for (int i = 0; i < sz; i++) {
auto [l, r, cnt] = segs[i];
segs.emplace_back(l+x, r+x, cnt);
}
sort(segs.begin(), segs.end(), [&] (auto& A, auto& B) {
return make_pair(get<0>(A), get<1>(A)) < make_pair(get<0>(B), get<1>(B));
});
sz = 0;
for (int i = 0; i < (int)segs.size(); i++) {
if (sz > 0 && 101*get<1>(segs[sz-1]) > 100*get<0>(segs[i])) {
get<1>(segs[sz-1]) = max(get<1>(segs[sz-1]), get<1>(segs[i]));
get<2>(segs[sz-1]) += get<2>(segs[i]);
}
else {
segs[sz++] = segs[i];
}
}
segs.resize(sz);
}
mint s = 0;
cout << (int)segs.size()-1 << '\n';
for (int i = 0; i+1 < (int)segs.size(); i++) {
s += get<2>(segs[i]);
cout << get<1>(segs[i]) << ' ' << get<0>(segs[i+1]) << ' ' << s.val() << '\n';
}
}
Submission Info
| Submission Time | |
|---|---|
| Task | E - Subset Sum Gaps |
| User | AndrewG |
| Language | C++23 (GCC 15.2.0) |
| Score | 1000 |
| Code Size | 1289 Byte |
| Status | AC |
| Exec Time | 14 ms |
| Memory | 3732 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 1000 / 1000 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 01_sample_01.txt, 01_sample_02.txt, 01_sample_03.txt, 01_sample_04.txt |
| All | 01_sample_01.txt, 01_sample_02.txt, 01_sample_03.txt, 01_sample_04.txt, 02_gen1_01.txt, 02_gen1_02.txt, 02_gen1_03.txt, 02_gen1_04.txt, 02_gen1_05.txt, 02_gen1_06.txt, 02_gen1_07.txt, 02_gen1_08.txt, 02_gen1_09.txt, 02_gen1_10.txt, 03_gen2_01.txt, 03_gen2_02.txt, 03_gen2_03.txt, 03_gen2_04.txt, 03_gen2_05.txt, 03_gen2_06.txt, 03_gen2_07.txt, 03_gen2_08.txt, 03_gen2_09.txt, 03_gen2_10.txt, 04_gen3_01.txt, 04_gen3_02.txt, 04_gen3_03.txt, 04_gen3_04.txt, 04_gen3_05.txt, 04_gen3_06.txt, 04_gen3_07.txt, 04_gen3_08.txt, 04_gen3_09.txt, 04_gen3_10.txt, 05_gen4_01.txt, 05_gen4_02.txt, 05_gen4_03.txt, 06_gen5_01.txt, 06_gen5_02.txt, 06_gen5_03.txt, 06_gen5_04.txt, 06_gen5_05.txt, 06_gen5_06.txt, 06_gen5_07.txt, 06_gen5_08.txt, 06_gen5_09.txt, 06_gen5_10.txt, 07_gen6_01.txt, 07_gen6_02.txt, 07_gen6_03.txt, 07_gen6_04.txt, 07_gen6_05.txt, 07_gen6_06.txt, 07_gen6_07.txt, 07_gen6_08.txt, 07_gen6_09.txt, 07_gen6_10.txt, 08_gen7_01.txt, 08_gen7_02.txt, 08_gen7_03.txt, 08_gen7_04.txt, 08_gen7_05.txt, 08_gen7_06.txt, 08_gen7_07.txt, 08_gen7_08.txt, 08_gen7_09.txt, 08_gen7_10.txt, 09_gen8_01.txt, 09_gen8_02.txt, 09_gen8_03.txt, 09_gen8_04.txt, 09_gen8_05.txt, 09_gen8_06.txt, 09_gen8_07.txt, 09_gen8_08.txt, 09_gen8_09.txt, 09_gen8_10.txt, 10_gen9_01.txt, 10_gen9_02.txt, 10_gen9_03.txt, 10_gen9_04.txt, 10_gen9_05.txt, 10_gen9_06.txt, 10_gen9_07.txt, 10_gen9_08.txt, 10_gen9_09.txt, 10_gen9_10.txt, 11_gen10_01.txt, 11_gen10_02.txt, 12_gen11_01.txt, 12_gen11_02.txt, 12_gen11_03.txt, 13_gen12_01.txt, 13_gen12_02.txt, 13_gen12_03.txt, 14_gen13_01.txt, 14_gen13_02.txt, 14_gen13_03.txt, 15_gen14_01.txt, 15_gen14_02.txt, 15_gen14_03.txt, 16_gen15_01.txt, 16_gen15_02.txt, 16_gen15_03.txt, 16_gen15_04.txt, 16_gen15_05.txt, 16_gen15_06.txt, 16_gen15_07.txt, 16_gen15_08.txt, 16_gen15_09.txt, 16_gen15_10.txt, 17_gen16_01.txt, 17_gen16_02.txt, 17_gen16_03.txt, 17_gen16_04.txt, 17_gen16_05.txt, 17_gen16_06.txt, 17_gen16_07.txt, 17_gen16_08.txt, 17_gen16_09.txt, 17_gen16_10.txt, 18_gen17_01.txt, 18_gen17_02.txt, 18_gen17_03.txt, 18_gen17_04.txt, 18_gen17_05.txt, 18_gen17_06.txt, 18_gen17_07.txt, 18_gen17_08.txt, 18_gen17_09.txt, 18_gen17_10.txt, 19_hack_double_01.txt, 19_hack_double_02.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 01_sample_01.txt | AC | 1 ms | 3440 KiB |
| 01_sample_02.txt | AC | 1 ms | 3396 KiB |
| 01_sample_03.txt | AC | 1 ms | 3540 KiB |
| 01_sample_04.txt | AC | 1 ms | 3492 KiB |
| 02_gen1_01.txt | AC | 1 ms | 3444 KiB |
| 02_gen1_02.txt | AC | 1 ms | 3444 KiB |
| 02_gen1_03.txt | AC | 1 ms | 3436 KiB |
| 02_gen1_04.txt | AC | 1 ms | 3604 KiB |
| 02_gen1_05.txt | AC | 1 ms | 3492 KiB |
| 02_gen1_06.txt | AC | 1 ms | 3560 KiB |
| 02_gen1_07.txt | AC | 1 ms | 3500 KiB |
| 02_gen1_08.txt | AC | 1 ms | 3388 KiB |
| 02_gen1_09.txt | AC | 1 ms | 3492 KiB |
| 02_gen1_10.txt | AC | 1 ms | 3560 KiB |
| 03_gen2_01.txt | AC | 1 ms | 3388 KiB |
| 03_gen2_02.txt | AC | 1 ms | 3600 KiB |
| 03_gen2_03.txt | AC | 1 ms | 3600 KiB |
| 03_gen2_04.txt | AC | 1 ms | 3388 KiB |
| 03_gen2_05.txt | AC | 1 ms | 3388 KiB |
| 03_gen2_06.txt | AC | 1 ms | 3556 KiB |
| 03_gen2_07.txt | AC | 1 ms | 3604 KiB |
| 03_gen2_08.txt | AC | 1 ms | 3440 KiB |
| 03_gen2_09.txt | AC | 1 ms | 3556 KiB |
| 03_gen2_10.txt | AC | 1 ms | 3492 KiB |
| 04_gen3_01.txt | AC | 3 ms | 3728 KiB |
| 04_gen3_02.txt | AC | 4 ms | 3652 KiB |
| 04_gen3_03.txt | AC | 5 ms | 3628 KiB |
| 04_gen3_04.txt | AC | 4 ms | 3620 KiB |
| 04_gen3_05.txt | AC | 4 ms | 3568 KiB |
| 04_gen3_06.txt | AC | 3 ms | 3648 KiB |
| 04_gen3_07.txt | AC | 4 ms | 3568 KiB |
| 04_gen3_08.txt | AC | 3 ms | 3728 KiB |
| 04_gen3_09.txt | AC | 4 ms | 3728 KiB |
| 04_gen3_10.txt | AC | 3 ms | 3620 KiB |
| 05_gen4_01.txt | AC | 10 ms | 3572 KiB |
| 05_gen4_02.txt | AC | 10 ms | 3684 KiB |
| 05_gen4_03.txt | AC | 10 ms | 3628 KiB |
| 06_gen5_01.txt | AC | 10 ms | 3728 KiB |
| 06_gen5_02.txt | AC | 10 ms | 3572 KiB |
| 06_gen5_03.txt | AC | 10 ms | 3728 KiB |
| 06_gen5_04.txt | AC | 10 ms | 3728 KiB |
| 06_gen5_05.txt | AC | 10 ms | 3660 KiB |
| 06_gen5_06.txt | AC | 10 ms | 3684 KiB |
| 06_gen5_07.txt | AC | 10 ms | 3688 KiB |
| 06_gen5_08.txt | AC | 10 ms | 3668 KiB |
| 06_gen5_09.txt | AC | 10 ms | 3728 KiB |
| 06_gen5_10.txt | AC | 10 ms | 3732 KiB |
| 07_gen6_01.txt | AC | 4 ms | 3572 KiB |
| 07_gen6_02.txt | AC | 5 ms | 3620 KiB |
| 07_gen6_03.txt | AC | 5 ms | 3688 KiB |
| 07_gen6_04.txt | AC | 6 ms | 3628 KiB |
| 07_gen6_05.txt | AC | 4 ms | 3516 KiB |
| 07_gen6_06.txt | AC | 4 ms | 3524 KiB |
| 07_gen6_07.txt | AC | 6 ms | 3660 KiB |
| 07_gen6_08.txt | AC | 5 ms | 3728 KiB |
| 07_gen6_09.txt | AC | 3 ms | 3660 KiB |
| 07_gen6_10.txt | AC | 6 ms | 3568 KiB |
| 08_gen7_01.txt | AC | 11 ms | 3728 KiB |
| 08_gen7_02.txt | AC | 11 ms | 3688 KiB |
| 08_gen7_03.txt | AC | 11 ms | 3524 KiB |
| 08_gen7_04.txt | AC | 11 ms | 3620 KiB |
| 08_gen7_05.txt | AC | 10 ms | 3728 KiB |
| 08_gen7_06.txt | AC | 11 ms | 3572 KiB |
| 08_gen7_07.txt | AC | 11 ms | 3660 KiB |
| 08_gen7_08.txt | AC | 10 ms | 3688 KiB |
| 08_gen7_09.txt | AC | 11 ms | 3648 KiB |
| 08_gen7_10.txt | AC | 10 ms | 3568 KiB |
| 09_gen8_01.txt | AC | 12 ms | 3688 KiB |
| 09_gen8_02.txt | AC | 11 ms | 3572 KiB |
| 09_gen8_03.txt | AC | 10 ms | 3732 KiB |
| 09_gen8_04.txt | AC | 12 ms | 3628 KiB |
| 09_gen8_05.txt | AC | 11 ms | 3524 KiB |
| 09_gen8_06.txt | AC | 11 ms | 3688 KiB |
| 09_gen8_07.txt | AC | 12 ms | 3728 KiB |
| 09_gen8_08.txt | AC | 11 ms | 3728 KiB |
| 09_gen8_09.txt | AC | 13 ms | 3568 KiB |
| 09_gen8_10.txt | AC | 12 ms | 3488 KiB |
| 10_gen9_01.txt | AC | 11 ms | 3688 KiB |
| 10_gen9_02.txt | AC | 10 ms | 3628 KiB |
| 10_gen9_03.txt | AC | 11 ms | 3568 KiB |
| 10_gen9_04.txt | AC | 10 ms | 3524 KiB |
| 10_gen9_05.txt | AC | 11 ms | 3524 KiB |
| 10_gen9_06.txt | AC | 11 ms | 3524 KiB |
| 10_gen9_07.txt | AC | 11 ms | 3728 KiB |
| 10_gen9_08.txt | AC | 11 ms | 3620 KiB |
| 10_gen9_09.txt | AC | 11 ms | 3728 KiB |
| 10_gen9_10.txt | AC | 11 ms | 3572 KiB |
| 11_gen10_01.txt | AC | 14 ms | 3684 KiB |
| 11_gen10_02.txt | AC | 14 ms | 3688 KiB |
| 12_gen11_01.txt | AC | 3 ms | 3728 KiB |
| 12_gen11_02.txt | AC | 3 ms | 3688 KiB |
| 12_gen11_03.txt | AC | 3 ms | 3668 KiB |
| 13_gen12_01.txt | AC | 3 ms | 3660 KiB |
| 13_gen12_02.txt | AC | 3 ms | 3668 KiB |
| 13_gen12_03.txt | AC | 3 ms | 3668 KiB |
| 14_gen13_01.txt | AC | 2 ms | 3524 KiB |
| 14_gen13_02.txt | AC | 1 ms | 3628 KiB |
| 14_gen13_03.txt | AC | 2 ms | 3556 KiB |
| 15_gen14_01.txt | AC | 14 ms | 3568 KiB |
| 15_gen14_02.txt | AC | 13 ms | 3668 KiB |
| 15_gen14_03.txt | AC | 13 ms | 3728 KiB |
| 16_gen15_01.txt | AC | 13 ms | 3688 KiB |
| 16_gen15_02.txt | AC | 13 ms | 3728 KiB |
| 16_gen15_03.txt | AC | 13 ms | 3668 KiB |
| 16_gen15_04.txt | AC | 13 ms | 3620 KiB |
| 16_gen15_05.txt | AC | 13 ms | 3572 KiB |
| 16_gen15_06.txt | AC | 13 ms | 3568 KiB |
| 16_gen15_07.txt | AC | 13 ms | 3728 KiB |
| 16_gen15_08.txt | AC | 13 ms | 3524 KiB |
| 16_gen15_09.txt | AC | 13 ms | 3728 KiB |
| 16_gen15_10.txt | AC | 13 ms | 3628 KiB |
| 17_gen16_01.txt | AC | 7 ms | 3620 KiB |
| 17_gen16_02.txt | AC | 7 ms | 3624 KiB |
| 17_gen16_03.txt | AC | 10 ms | 3620 KiB |
| 17_gen16_04.txt | AC | 11 ms | 3628 KiB |
| 17_gen16_05.txt | AC | 6 ms | 3528 KiB |
| 17_gen16_06.txt | AC | 8 ms | 3660 KiB |
| 17_gen16_07.txt | AC | 9 ms | 3628 KiB |
| 17_gen16_08.txt | AC | 10 ms | 3684 KiB |
| 17_gen16_09.txt | AC | 7 ms | 3628 KiB |
| 17_gen16_10.txt | AC | 11 ms | 3524 KiB |
| 18_gen17_01.txt | AC | 3 ms | 3568 KiB |
| 18_gen17_02.txt | AC | 8 ms | 3732 KiB |
| 18_gen17_03.txt | AC | 7 ms | 3728 KiB |
| 18_gen17_04.txt | AC | 7 ms | 3668 KiB |
| 18_gen17_05.txt | AC | 5 ms | 3732 KiB |
| 18_gen17_06.txt | AC | 6 ms | 3660 KiB |
| 18_gen17_07.txt | AC | 3 ms | 3516 KiB |
| 18_gen17_08.txt | AC | 4 ms | 3620 KiB |
| 18_gen17_09.txt | AC | 7 ms | 3688 KiB |
| 18_gen17_10.txt | AC | 8 ms | 3688 KiB |
| 19_hack_double_01.txt | AC | 1 ms | 3620 KiB |
| 19_hack_double_02.txt | AC | 1 ms | 3732 KiB |