提出 #25099364


ソースコード 拡げる

#include <bits/stdc++.h>
#include <cassert>
typedef long long int ll;
using namespace std;
// #include <atcoder/all>
// using namespace atcoder;

// @@ !! LIM(f:updMaxMin)

// ---- inserted function f:updMaxMin from util.cc
template<typename T>
bool updMax(T& tmax, const T& x) {
  if (x > tmax) { tmax = x; return true;  }
  else          {           return false; }
}
template<typename T>
bool updMin(T& tmin, const T& x) {
  if (x < tmin) { tmin = x; return true;  }
  else          {           return false; }
}
// ---- end f:updMaxMin

// @@ !! LIM -- end mark --

int main(/* int argc, char *argv[] */) {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
  cout << setprecision(20);

  ll N, D, K; cin >> N >> D >> K;
  using sta = pair<ll, ll>;
  vector<sta> SP;
  for (ll i = 0; i < N; i++) {
    ll p, s; cin >> p >> s; p--;
    SP.emplace_back(s, p);
  }
  sort(SP.begin(), SP.end());
  using stb = pair<ll, ll>;
  vector<vector<stb>> PS(2);
  for (ll i = 0; i < N; i++) {
    auto [s, p] = SP[i];
    PS[p].emplace_back(s, i);
  }
  for (ll p = 0; p < 2; p++) PS[p].emplace_back(1e18, N);
  vector<ll> tbl(N + 1);
  auto nxtEv = [&](ll p, ll t) -> ll {
    auto [s, i] = *lower_bound(PS[p].begin(), PS[p].end(), stb(t, -1));
    return i;
  };
  for (ll i = 0; i < N; i++) {
    auto [s, p] = SP[i];
    ll newCnt = tbl[i] + 1;
    ll i2 = nxtEv(p, s + 1);
    updMax(tbl[i2], newCnt);
    ll i3 = nxtEv(1-p, s + 1 + D + K * newCnt);
    updMax(tbl[i3], newCnt);
  }
  cout << tbl[N] << endl;

  return 0;
}

提出情報

提出日時
問題 C - イベント巡り (Event Hopping)
ユーザ yamate11
言語 C++ (GCC 9.2.1)
得点 100
コード長 1526 Byte
結果 AC
実行時間 83 ms
メモリ 13432 KiB

ジャッジ結果

セット名 Sample Subtask1 Subtask2 Subtask3 Subtask4 Subtask5 Subtask6
得点 / 配点 0 / 0 8 / 8 11 / 11 24 / 24 12 / 12 23 / 23 22 / 22
結果
AC × 4
AC × 10
AC × 19
AC × 32
AC × 19
AC × 37
AC × 64
セット名 テストケース
Sample sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt
Subtask1 sample-01.txt, sample-03.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt
Subtask2 sample-01.txt, sample-03.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt
Subtask3 sample-01.txt, sample-03.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 03-01.txt, 03-02.txt, 03-03.txt, 03-04.txt, 03-05.txt, 03-06.txt, 03-07.txt, 03-08.txt, 03-09.txt, 03-10.txt, 03-11.txt, 03-12.txt, 03-13.txt
Subtask4 sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 04-01.txt, 04-02.txt, 04-03.txt, 04-04.txt, 04-05.txt, 04-06.txt, 04-07.txt
Subtask5 sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 04-01.txt, 04-02.txt, 04-03.txt, 04-04.txt, 04-05.txt, 04-06.txt, 04-07.txt, 05-01.txt, 05-02.txt, 05-03.txt, 05-04.txt, 05-05.txt, 05-06.txt, 05-07.txt, 05-08.txt, 05-09.txt
Subtask6 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 03-01.txt, 03-02.txt, 03-03.txt, 03-04.txt, 03-05.txt, 03-06.txt, 03-07.txt, 03-08.txt, 03-09.txt, 03-10.txt, 03-11.txt, 03-12.txt, 03-13.txt, 04-01.txt, 04-02.txt, 04-03.txt, 04-04.txt, 04-05.txt, 04-06.txt, 04-07.txt, 05-01.txt, 05-02.txt, 05-03.txt, 05-04.txt, 05-05.txt, 05-06.txt, 05-07.txt, 05-08.txt, 05-09.txt, 06-01.txt, 06-02.txt, 06-03.txt, 06-04.txt, 06-05.txt, 06-06.txt, 06-07.txt, 06-08.txt, 06-09.txt, 06-10.txt, 06-11.txt, 06-12.txt, 06-13.txt, 06-14.txt, sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt
ケース名 結果 実行時間 メモリ
01-01.txt AC 10 ms 3444 KiB
01-02.txt AC 3 ms 3576 KiB
01-03.txt AC 2 ms 3584 KiB
01-04.txt AC 2 ms 3616 KiB
01-05.txt AC 2 ms 3520 KiB
01-06.txt AC 2 ms 3568 KiB
01-07.txt AC 2 ms 3500 KiB
01-08.txt AC 2 ms 3500 KiB
02-01.txt AC 2 ms 3572 KiB
02-02.txt AC 3 ms 3636 KiB
02-03.txt AC 4 ms 3708 KiB
02-04.txt AC 4 ms 3748 KiB
02-05.txt AC 7 ms 3700 KiB
02-06.txt AC 4 ms 3704 KiB
02-07.txt AC 5 ms 3752 KiB
02-08.txt AC 7 ms 3752 KiB
02-09.txt AC 4 ms 3704 KiB
03-01.txt AC 10 ms 3756 KiB
03-02.txt AC 45 ms 7620 KiB
03-03.txt AC 79 ms 11964 KiB
03-04.txt AC 78 ms 12616 KiB
03-05.txt AC 82 ms 11848 KiB
03-06.txt AC 80 ms 12604 KiB
03-07.txt AC 82 ms 13396 KiB
03-08.txt AC 71 ms 11428 KiB
03-09.txt AC 75 ms 13432 KiB
03-10.txt AC 78 ms 11436 KiB
03-11.txt AC 74 ms 11432 KiB
03-12.txt AC 72 ms 12628 KiB
03-13.txt AC 70 ms 12372 KiB
04-01.txt AC 3 ms 3616 KiB
04-02.txt AC 2 ms 3572 KiB
04-03.txt AC 2 ms 3596 KiB
04-04.txt AC 2 ms 3584 KiB
04-05.txt AC 3 ms 3584 KiB
04-06.txt AC 3 ms 3528 KiB
04-07.txt AC 2 ms 3516 KiB
05-01.txt AC 2 ms 3604 KiB
05-02.txt AC 4 ms 3636 KiB
05-03.txt AC 5 ms 3688 KiB
05-04.txt AC 4 ms 3704 KiB
05-05.txt AC 5 ms 3700 KiB
05-06.txt AC 3 ms 3740 KiB
05-07.txt AC 5 ms 3704 KiB
05-08.txt AC 4 ms 3688 KiB
05-09.txt AC 5 ms 3632 KiB
06-01.txt AC 9 ms 3644 KiB
06-02.txt AC 42 ms 8352 KiB
06-03.txt AC 81 ms 11964 KiB
06-04.txt AC 83 ms 12000 KiB
06-05.txt AC 67 ms 11960 KiB
06-06.txt AC 80 ms 13132 KiB
06-07.txt AC 77 ms 11960 KiB
06-08.txt AC 69 ms 11524 KiB
06-09.txt AC 71 ms 11584 KiB
06-10.txt AC 76 ms 12808 KiB
06-11.txt AC 75 ms 11620 KiB
06-12.txt AC 75 ms 11508 KiB
06-13.txt AC 73 ms 12828 KiB
06-14.txt AC 72 ms 12364 KiB
sample-01.txt AC 2 ms 3584 KiB
sample-02.txt AC 3 ms 3568 KiB
sample-03.txt AC 2 ms 3456 KiB
sample-04.txt AC 2 ms 3588 KiB