Submission #1777383
Source Code Expand
#include <bits/stdc++.h> #define int long long #define N 100010 using namespace std; const int INF = 1LL<<55; const int mod = (1e9)+7; const double EPS = 1e-8; const double PI = 6.0 * asin(0.5); template<class T> T Max(T &a,T b){return a=max(a,b);} template<class T> T Min(T &a,T b){return a=min(a,b);} signed main(){ string S; cin>>S; int n = S.size(); vector<int> U(S.size(),INF),D(S.size(),INF); for(int i=0;i<n;i++) if(S[i] == 'U') U[i] = 0; for(int i=0;i<n;i++) if(S[i] == 'D') D[i] = 0; for(int i=1;i<n;i++) Min(U[i], U[i-1]+1); //for(int i=1;i<n;i++) Min(D[i], D[i-1]+1); //for(int i=n-2;i>=0;i--) Min(U[i],U[i+1]+1); for(int i=n-2;i>=0;i--) Min(D[i],D[i+1]+1); int ans = 0; for(int i=0;i<n;i++){ if(S[i] == 'U') { ans += (n-i-1); ans += i* (2); } if(S[i] == 'D') { ans += (n-i-1) * (2); ans += i; } } cout<<ans<<endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | B - Evilator |
User | haji |
Language | C++14 (GCC 5.4.1) |
Score | 400 |
Code Size | 959 Byte |
Status | AC |
Exec Time | 7 ms |
Memory | 2048 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 400 / 400 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | s1.txt, s2.txt |
All | 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, s1.txt, s2.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
01.txt | AC | 7 ms | 2048 KB |
02.txt | AC | 7 ms | 2048 KB |
03.txt | AC | 7 ms | 2048 KB |
04.txt | AC | 7 ms | 2048 KB |
05.txt | AC | 6 ms | 2048 KB |
06.txt | AC | 6 ms | 2048 KB |
07.txt | AC | 6 ms | 2048 KB |
08.txt | AC | 6 ms | 2048 KB |
09.txt | AC | 1 ms | 256 KB |
10.txt | AC | 1 ms | 256 KB |
s1.txt | AC | 1 ms | 256 KB |
s2.txt | AC | 1 ms | 256 KB |