Submission #11416189
Source Code Expand
/*
* じょえチャンネル
* 高評価・チャンネル登録よろしくおねがいします!
* https://www.youtube.com/channel/UCRXsI3FL_kvaVL9zoolBfbQ
*/
#include <bits/stdc++.h>
#pragma GCC target("avx2")
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")
#define f(i,n) for(int i=0;i<(n);i++)
#define inf (int)(3e18)
//here!!!
// define int long long !!!!!
#define int long long
// define int long long !!!!!
#define mod (int)((1e9)+7)
#define intt long long
#define itn long long
#define P pair<int,int>
#define rep(i,n) for(int i=0;i<n;i++)
#define REP(i,n) for(int i=1;i<=n;i++)
#define ALL(v) v.begin(),v.end()
using namespace std;
//Library
//モッドパウ
inline int modpow(int x, int y, int m = mod) {
int res = 1;
while (y) {
if (y % 2) {
res *= x;
res %= m;
}
x = x * x % m;
y /= 2;
}
return res;
}
int mypow(int x, int y) {
int res = 1;
while (y) {
if (y % 2) {
res *= x;
}
x = x * x;
y /= 2;
}
return res;
}
//is the number (x) a prime number?
bool prime(int x) {
for (int i = 2; i * i <= x; i++) {
if (!(x % i)) {
return false;
}
}
return true;
}
//saidai-kouyakusuu
inline int gcd(int x, int y) {
if (!y) {
return x;
}
return gcd(y, x % y);
}
//number of keta
int keta(int x) {
int ans = 0;
while (x) {
x /= 10;
ans++;
}
return ans;
}
//sum of keta
int ketasum(int x) {
int ans = 0;
while (x) {
ans += x % 10;
x /= 10;
}
return ans;
}
inline int lcm(int x, int y) {
int ans = x / gcd(x, y) * y;
return ans;
}
int twobeki(int x) {
int ans = 0;
while (1) {
if (!(x & 1)) {
ans++;
x /= 2;
}
else {
break;
}
}
return ans;
}
template <class T, class U>
inline bool chmax(T& lhs, const U& rhs) {
if (lhs < rhs) {
lhs = rhs;
return 1;
}
return 0;
}
template <class T, class U>
inline bool chmin(T& lhs, const U& rhs) {
if (lhs > rhs) {
lhs = rhs;
return 1;
}
return 0;
}
void Yes(){
cout<<"Yes"<<endl;
}
void No(){
cout<<"No"<<endl;
}
void YES(){
cout<<"YES"<<endl;
}
void NO(){
cout<<"NO"<<endl;
}
#define fin(i) scanf("%lld",&i)
#define fout(i) printf("%lld",i)
#define fendl printf("\n")
//Library-End
class modInt {
int value, modulo;
public:
modInt() : value(0), modulo(mod) { value = 0; }
template<typename T>
modInt(T value = 0, int modulo = mod) : value(value), modulo(modulo) {
if (value < 0) {
value = -value;
value %= modulo;
value = -value;
value += modulo;
}
this->value = value % modulo;
}
inline operator int()const { return value; }
inline modInt& operator+=(modInt x) {
value += x.value;
if (value >= modulo)value -= modulo;
return *this;
}
inline modInt& operator++() {
if (value == modulo - 1)value = 0;
else value++;
return *this;
}
inline modInt& operator-()const {
return modInt(0) -= *this;
}
inline modInt& operator-=(modInt x) {
value -= x.value;
if (value < 0)value += modulo;
return *this;
}
inline modInt& operator--() {
if (value == 0)value = modulo - 1;
else value--;
return *this;
}
inline modInt& operator*=(modInt x) {
value = value * x.value % modulo;
return *this;
}
inline modInt& operator/=(modInt x) {
return operator*=(x.inv());
}
inline modInt inv() {
return modpow(*this, modulo - 2);
}
template<typename T> modInt operator+(T x) { return modInt(*this) += x; }
template<typename T> modInt& operator+=(T x) { return operator+=(modInt(x, modulo)); }
template<typename T> modInt operator-(T x) { return modInt(*this) -= x; }
template<typename T> modInt& operator-=(T x) { return operator-=(modInt(x, modulo)); }
template<typename T> modInt operator*(T x) { return modInt(*this) *= x; }
template<typename T> modInt& operator*=(T x) { return operator*=(modInt(x, modulo)); }
template<typename T> modInt operator/(T x) { return modInt(*this) /= x; }
template<typename T> modInt& operator/=(T x) { return operator/=(modInt(x, modulo)); }
};
istream& operator>>(istream& ist, modInt& x) {
int a;
ist >> a;
x = a;
return ist;
}
#define vecin(v) for(int i=0;i<v.size();i++)scanf("%lld",&v[i]);
#define vecout(v) {printf("%lld",v[0]);for(int i=1;i<v.size();i++)printf(" %lld",v[i]);printf("\n");}
#define endl "\n" //interactive の時に注意!!!
string s;
itn ans;
signed main(){
ios::sync_with_stdio(false);
std::cin.tie(nullptr);
cin>>s;
rep(i,s.size()){
if (s[i]=='U') {
ans+=(int)s.size()-i-1;
ans+=i*2;
}else{
ans+=((int)s.size()-i-1)*2;
ans+=i;
}
}
cout<<ans<<endl;
}
Submission Info
Submission Time |
|
Task |
B - Evilator |
User |
AndrewK |
Language |
C++14 (GCC 5.4.1) |
Score |
400 |
Code Size |
5385 Byte |
Status |
AC |
Exec Time |
2 ms |
Memory |
512 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 |
2 ms |
512 KB |
02.txt |
AC |
2 ms |
512 KB |
03.txt |
AC |
2 ms |
512 KB |
04.txt |
AC |
2 ms |
512 KB |
05.txt |
AC |
2 ms |
512 KB |
06.txt |
AC |
2 ms |
512 KB |
07.txt |
AC |
2 ms |
512 KB |
08.txt |
AC |
2 ms |
512 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 |