Submission #3726495


Source Code Expand

#include <bits/stdc++.h>
#define int long long
#define uint unsigned int
#define rep(i, a, n) for (int i = a; i < n; i++)
#define all(a) (a).begin(), (a).end()
#define sz(a) (a).size()
#define pb push_back
#define eb emplace_back
#define mp make_pair
#define mt make_tuple
#define dump(x) cerr << #x << " = " << (x) << endl;
#define dumpi(i, x) cerr << string((i), ' ') << #x << " = " << (x) << endl;
#define debug(x) cerr << #x << " = " << (x) << " (L" << __LINE__ << ")" << " " << __FILE__ << endl;
using namespace std;
using pii = pair<int, int>;
constexpr int MOD = 1000000007;
constexpr int INF = 1LL << 30;
constexpr double EPS = 1e-10;

int N, L;
int x[100010];
char d[100010];

signed main() {
  cin.tie(0);
  ios_base::sync_with_stdio(false);
  cout << fixed << setprecision(10);
  
  cin >> N >> L;
  rep(i, 0, N) cin >> x[i] >> d[i];
  int ans = 0;
  int l = 0, r = 0;
  while (r < N && d[r] == 'L') r++;
  while (l < r) {
    ans += x[l]-l-1;
    l++;
  }
  while (l < N && r < N) {
    while (r < N && d[r] == 'R') r++;
    if (r == N) {
      int num = r - l;
      while (l < r) {
        ans += L-num+1-x[l];
        num--;
        l++;
      }
      break;
    }
    int m = r;
    while (r < N && d[r] == 'L') r++;
    int p = x[m-1], q = x[m];
    int numL = m - l;
    int mx = numL;
    while (l < m) {
      ans += p-numL+1-x[l];
      numL--;
      l++;
    }
    int numR = 0;
    while (l < r) {
      numR++;
      ans += x[l]-q-numR+1;
      l++;
    }
    mx = max(mx, numR);
    ans += (q-p-1)*mx;
  }
  cout << ans << endl;

  return 0;
}

Submission Info

Submission Time
Task C - ウサギ跳び
User legosuke
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1638 Byte
Status AC
Exec Time 13 ms
Memory 1152 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 3
AC × 35
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask1_26.txt, subtask1_27.txt, subtask1_28.txt, subtask1_29.txt, subtask1_30.txt, subtask1_31.txt, subtask1_32.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 256 KB
sample_02.txt AC 1 ms 256 KB
sample_03.txt AC 1 ms 256 KB
subtask1_01.txt AC 1 ms 256 KB
subtask1_02.txt AC 1 ms 256 KB
subtask1_03.txt AC 10 ms 1152 KB
subtask1_04.txt AC 10 ms 1152 KB
subtask1_05.txt AC 11 ms 1152 KB
subtask1_06.txt AC 11 ms 1152 KB
subtask1_07.txt AC 11 ms 1152 KB
subtask1_08.txt AC 13 ms 1152 KB
subtask1_09.txt AC 13 ms 1152 KB
subtask1_10.txt AC 12 ms 1152 KB
subtask1_11.txt AC 13 ms 1152 KB
subtask1_12.txt AC 10 ms 1152 KB
subtask1_13.txt AC 11 ms 1152 KB
subtask1_14.txt AC 13 ms 1152 KB
subtask1_15.txt AC 13 ms 1152 KB
subtask1_16.txt AC 13 ms 1152 KB
subtask1_17.txt AC 6 ms 768 KB
subtask1_18.txt AC 6 ms 768 KB
subtask1_19.txt AC 3 ms 384 KB
subtask1_20.txt AC 10 ms 1024 KB
subtask1_21.txt AC 4 ms 512 KB
subtask1_22.txt AC 5 ms 640 KB
subtask1_23.txt AC 9 ms 1024 KB
subtask1_24.txt AC 5 ms 512 KB
subtask1_25.txt AC 10 ms 1024 KB
subtask1_26.txt AC 12 ms 1024 KB
subtask1_27.txt AC 1 ms 256 KB
subtask1_28.txt AC 13 ms 1152 KB
subtask1_29.txt AC 10 ms 896 KB
subtask1_30.txt AC 4 ms 512 KB
subtask1_31.txt AC 8 ms 768 KB
subtask1_32.txt AC 13 ms 1152 KB