Submission #1604380
Source Code Expand
#include <ctime>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cassert>
#include <algorithm>
#include <iostream>
#include <vector>
#include <queue>
#include <stack>
#include <deque>
#include <set>
#include <map>
using namespace std;
typedef long long ll;
typedef double lf;
typedef long double Lf;
typedef pair <int,int> pii;
typedef pair <ll, ll> pll;
#define TRACE(x) cerr << #x << " " << x << endl
#define FOR(i, a, b) for (int i = (a); i < int(b); i++)
#define REP(i, n) FOR(i, 0, n)
#define all(x) (x).begin(), (x).end()
#define _ << " " <<
#define fi first
#define sec second
#define mp make_pair
const int MAXN = 100100;
int n, pref[MAXN], suff[MAXN];
char s[MAXN];
ll sum;
int main() {
scanf("%s",s);
n = strlen(s);
pref[0] = 0;
suff[n - 1] = n - 1;
FOR(i, 1, n) pref[i] = (s[i] == 'U') ? i : pref[i - 1];
for (int i = n - 2; i >= 0; i--) suff[i] = (s[i] == 'D') ? i : suff[i + 1];
sum += 2 * (n - 1);
FOR(i, 1, n - 1) {
sum += (pref[i] == i) ? n - i - 1 : 2 * (n - i - 1);
sum += (suff[i] == i) ? i : 2 * i;
}
printf("%lld\n",sum);
return 0;
}
Submission Info
Submission Time
2017-09-17 22:33:49+0900
Task
B - Evilator
User
mkisic
Language
C++14 (GCC 5.4.1)
Score
400
Code Size
1170 Byte
Status
AC
Exec Time
3 ms
Memory
1152 KB
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:41:16: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%s",s);
^
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
3 ms
1152 KB
02.txt
AC
3 ms
1152 KB
03.txt
AC
3 ms
1152 KB
04.txt
AC
3 ms
1152 KB
05.txt
AC
2 ms
1152 KB
06.txt
AC
2 ms
1152 KB
07.txt
AC
2 ms
1152 KB
08.txt
AC
2 ms
1152 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