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
AC × 4
AC × 133
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