Submission #2826820
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
typedef long long signed int LL;
typedef long long unsigned int LU;
#define incID(i, l, r) for(int i = (l) ; i < (r); i++)
#define incII(i, l, r) for(int i = (l) ; i <= (r); i++)
#define decID(i, l, r) for(int i = (r) - 1; i >= (l); i--)
#define decII(i, l, r) for(int i = (r) ; i >= (l); i--)
#define inc(i, n) incID(i, 0, n)
#define inc1(i, n) incII(i, 1, n)
#define dec(i, n) decID(i, 0, n)
#define dec1(i, n) decII(i, 1, n)
#define inII(v, l, r) ((l) <= (v) && (v) <= (r))
#define inID(v, l, r) ((l) <= (v) && (v) < (r))
#define PB push_back
#define EB emplace_back
#define MP make_pair
#define FI first
#define SE second
#define PQ priority_queue
#define ALL(v) v.begin(), v.end()
#define RALL(v) v.rbegin(), v.rend()
#define FOR(it, v) for(auto it = v.begin(); it != v.end(); ++it)
#define RFOR(it, v) for(auto it = v.rbegin(); it != v.rend(); ++it)
template<typename T> bool setmin(T & a, T b) { if(b < a) { a = b; return true; } else { return false; } }
template<typename T> bool setmax(T & a, T b) { if(b > a) { a = b; return true; } else { return false; } }
template<typename T> bool setmineq(T & a, T b) { if(b <= a) { a = b; return true; } else { return false; } }
template<typename T> bool setmaxeq(T & a, T b) { if(b >= a) { a = b; return true; } else { return false; } }
template<typename T> T gcd(T a, T b) { return (b == 0 ? a : gcd(b, a % b)); }
template<typename T> T lcm(T a, T b) { return a / gcd(a, b) * b; }
// ---- ----
LL n, l, x[100004], d[100004];
vector<vector<LL>> v;
int main() {
cin >> n >> l;
x[0] = 0;
d[0] = 0;
x[1] = 1;
d[1] = 1;
inc(i, n) {
string s;
cin >> x[i + 2] >> s;
x[i + 2]++;
d[i + 2] = (s == "R" ? 0 : 1);
}
x[n + 2] = l + 2;
d[n + 2] = 0;
x[n + 3] = l + 3;
d[n + 3] = 1;
n += 4;
int pd = 0;
v.PB({ });
inc(i, n) {
if(d[i] != pd) { v.PB({ }); }
pd = d[i];
v.back().PB(x[i]);
}
LL ans = 0;
inc(i, v.size()) {
int j = i + 1;
reverse(ALL(v[i]));
inc(k, v[i].size()) { ans += v[i][0] - v[i][k] - k; }
inc(k, v[j].size()) { ans += v[j][k] - v[j][0] - k; }
ans += (v[j][0] - v[i][0] - 1) * max(v[i].size(), v[j].size());
i++;
}
cout << ans << endl;
return 0;
}
Submission Info
Submission Time |
|
Task |
C - ウサギ跳び |
User |
FF256grhy |
Language |
C++14 (GCC 5.4.1) |
Score |
100 |
Code Size |
2324 Byte |
Status |
AC |
Exec Time |
81 ms |
Memory |
7604 KB |
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
100 / 100 |
Status |
|
|
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 |
62 ms |
2936 KB |
subtask1_04.txt |
AC |
61 ms |
2936 KB |
subtask1_05.txt |
AC |
66 ms |
2936 KB |
subtask1_06.txt |
AC |
66 ms |
2936 KB |
subtask1_07.txt |
AC |
67 ms |
2936 KB |
subtask1_08.txt |
AC |
73 ms |
2936 KB |
subtask1_09.txt |
AC |
73 ms |
2936 KB |
subtask1_10.txt |
AC |
73 ms |
2936 KB |
subtask1_11.txt |
AC |
81 ms |
7216 KB |
subtask1_12.txt |
AC |
61 ms |
2936 KB |
subtask1_13.txt |
AC |
70 ms |
2936 KB |
subtask1_14.txt |
AC |
73 ms |
2936 KB |
subtask1_15.txt |
AC |
72 ms |
2936 KB |
subtask1_16.txt |
AC |
80 ms |
7604 KB |
subtask1_17.txt |
AC |
35 ms |
2616 KB |
subtask1_18.txt |
AC |
38 ms |
2744 KB |
subtask1_19.txt |
AC |
11 ms |
896 KB |
subtask1_20.txt |
AC |
60 ms |
4408 KB |
subtask1_21.txt |
AC |
18 ms |
1340 KB |
subtask1_22.txt |
AC |
29 ms |
2236 KB |
subtask1_23.txt |
AC |
54 ms |
4280 KB |
subtask1_24.txt |
AC |
25 ms |
2108 KB |
subtask1_25.txt |
AC |
62 ms |
4280 KB |
subtask1_26.txt |
AC |
71 ms |
4532 KB |
subtask1_27.txt |
AC |
2 ms |
256 KB |
subtask1_28.txt |
AC |
77 ms |
4788 KB |
subtask1_29.txt |
AC |
57 ms |
4152 KB |
subtask1_30.txt |
AC |
18 ms |
1280 KB |
subtask1_31.txt |
AC |
47 ms |
3128 KB |
subtask1_32.txt |
AC |
76 ms |
4660 KB |