Submission #3711591


Source Code Expand

#include <bits/stdc++.h>
#define FOR(v, a, b) for(int v = (a); v < (b); ++v)
#define FORE(v, a, b) for(int v = (a); v <= (b); ++v)
#define REP(v, n) FOR(v, 0, n)
#define REPE(v, n) FORE(v, 0, n)
#define REV(v, a, b) for(int v = (a); v >= (b); --v)
#define ALL(x) (x).begin(), (x).end()
#define LLI long long int
using namespace std;
template <typename T> using V = vector<T>;
template <typename T, typename U> using P = pair<T,U>;
template <typename I> void join(ostream &ost, I s, I t, string d=" "){for(auto i=s; i!=t; ++i){if(i!=s)ost<<d; ost<<*i;}ost<<endl;}

int main(){
  cin.tie(0);
  ios::sync_with_stdio(false);

  LLI n,l; cin >> n >> l;

  vector<LLI> x(n);
  vector<char> d(n);
  REP(i,n) cin >> x[i] >> d[i];

  int cur = 0;
  LLI ans = 0;

  vector<LLI> L,R;
  while(cur < n && d[cur] == 'L'){
    L.push_back(x[cur]);
    ++cur;
  }

  REP(i,L.size()){
    ans += L[i]-(i+1);
  }

  while(cur < n){
    L.clear();
    R.clear();

    while(cur < n && d[cur] == 'R'){
      R.push_back(x[cur]);
      ++cur;
    }

    while(cur < n && d[cur] == 'L'){
      L.push_back(x[cur]);
      ++cur;
    }
    reverse(ALL(R));
    
    if(L.empty()){
      REP(i,R.size()){
	ans += l-i-R[i];
      }
    }else{
      LLI t = 0;

      LLI x = L.size() >= R.size() ? R[0] : L[0]-1;

      REP(i,R.size()) t += x-R[i]-i;
      REP(i,L.size()) t += L[i]-(x+1)-i;
      
      ans += t;
    }
  }

  cout << ans << endl;
  
  return 0;
}

Submission Info

Submission Time
Task C - ウサギ跳び
User you070707
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1511 Byte
Status AC
Exec Time 14 ms
Memory 2296 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 11 ms 2296 KB
subtask1_04.txt AC 11 ms 2296 KB
subtask1_05.txt AC 12 ms 2296 KB
subtask1_06.txt AC 12 ms 2296 KB
subtask1_07.txt AC 14 ms 2296 KB
subtask1_08.txt AC 13 ms 2296 KB
subtask1_09.txt AC 13 ms 2296 KB
subtask1_10.txt AC 13 ms 2296 KB
subtask1_11.txt AC 13 ms 1152 KB
subtask1_12.txt AC 11 ms 2296 KB
subtask1_13.txt AC 14 ms 2296 KB
subtask1_14.txt AC 14 ms 2296 KB
subtask1_15.txt AC 13 ms 2296 KB
subtask1_16.txt AC 13 ms 1152 KB
subtask1_17.txt AC 6 ms 768 KB
subtask1_18.txt AC 7 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 10 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 12 ms 1152 KB