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 |
|
|
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 |