Submission #11249884


Source Code Expand

using System;
using System.Linq;
using System.Collections.Generic;

namespace Contest
{
    class Program
    {
        static void Main(string[] args)
        {
            AGC015.B();
        }

        class AGC015
        {
            public static void A()
            {
                var N = Read.Long();
                var A = Read.Long();
                var B = Read.Long();
                Console.WriteLine((A > B || (N == 1 && A != B)) ? 0 : (N - 2) * (B - A) + 1);
            }
            public static void B()
            {
                var S = Read.Str();
                long N = S.Length;
                long count = N * (N - 1);
                for(int i = 0; i < N; ++i)
                {
                    count += S[i] == 'U' ? i : N - i - 1;
                }
                Console.WriteLine(count);
            }
            public static void C()
            {
                var N = Read.Int();
                var M = Read.Int();
                var Q = Read.Int();
                bool[,] S = new bool[N, M];
                for(int i = 0; i < N; ++i)
                {
                    var str = Read.Str();
                    for(int j = 0; j < M; ++j)
                    {
                        S[i, j] = str[j] == '1';
                    }
                }
                int[,] Ssum = new int[N + 1, M + 1];
                int[,] T1Sum = new int[N + 1, M];
                int[,] T2Sum = new int[N, M + 1];
                for(int i = 0; i < N; ++i)
                {
                    for(int j = 0; j < M; ++j)
                    {
                        Ssum[i + 1, j + 1] = Ssum[i + 1, j] + Ssum[i, j + 1] - Ssum[i, j] + (S[i, j] ? 1 : 0);
                    }
                }
                for (int i = 0; i < N; ++i)
                {
                    for (int j = 0; j < M -1; ++j)
                    {
                        T1Sum[i + 1, j + 1] = T1Sum[i + 1, j] + T1Sum[i, j + 1] - T1Sum[i, j] + (S[i, j] && S[i, j + 1] ? 1 : 0);
                    }
                }
                for (int i = 0; i < N -1; ++i)
                {
                    for (int j = 0; j < M; ++j)
                    {
                        T2Sum[i + 1, j + 1] = T2Sum[i + 1, j] + T2Sum[i, j + 1] - T2Sum[i, j] + (S[i, j] && S[i + 1, j] ? 1 : 0);
                    }
                }
                for(int q = 0; q < Q; ++q)
                {
                    var xy = Read.IntN();
                    var x1 = xy[0];
                    var y1 = xy[1];
                    var x2 = xy[2];
                    var y2 = xy[3];
                    var countS = Ssum[x2, y2] - Ssum[x1 - 1, y2] - Ssum[x2, y1 - 1] + Ssum[x1 - 1, y1 - 1];
                    var countT1 = T1Sum[x2, y2 - 1] - T1Sum[x1 - 1, y2 - 1] - T1Sum[x2, y1 - 1] + T1Sum[x1 - 1, y1 - 1];
                    var countT2 = T2Sum[x2 - 1, y2] - T2Sum[x1 - 1, y2] - T2Sum[x2 - 1, y1 - 1] + T2Sum[x1 - 1, y1 - 1];
                    Console.WriteLine(countS - countT1 - countT2);
                }
            }
            public static void D()
            {

            }
            public static void E()
            {

            }
            public static void F()
            {

            }
        }

        class Graph
        {
            public static int[] CalcDistance_OnTree(Dictionary<int, HashSet<int>> adj, int N, int start)
            {
                var dist = Enumerable.Range(0, N + 1).Select(i => -1).ToArray();
                dist[start] = 0;
                Queue<int> queue = new Queue<int>();
                queue.Enqueue(start);
                while (queue.Count > 0)
                {
                    var v = queue.Dequeue();
                    foreach (var w in adj[v])
                    {
                        if (dist[w] < 0)
                        {
                            dist[w] = dist[v] + 1;
                            queue.Enqueue(w);
                        }
                    }
                }
                return dist;
            }
        }

        static class Read
        {
            static Queue<string> queue = new Queue<string>();
            static void Enqueue() { var ss = Console.ReadLine().Split(' '); foreach (var s in ss) { queue.Enqueue(s); } }
            public static int Int() { if (queue.Count == 0) { Enqueue(); } return Convert.ToInt32(queue.Dequeue()); }
            public static long Long() { if (queue.Count == 0) { Enqueue(); } return Convert.ToInt64(queue.Dequeue()); }
            public static string Str() { if (queue.Count == 0) { Enqueue(); } return queue.Dequeue(); }
            public static int[] IntN() { return Console.ReadLine().Split(' ').Select(s => Convert.ToInt32(s)).ToArray(); }
            public static long[] LongN() { return Console.ReadLine().Split(' ').Select(s => Convert.ToInt64(s)).ToArray(); }
            public static string[] StrN() { return Console.ReadLine().Split(' '); }
            public static Tuple<int, int>[] TupleInt(int n) { List<Tuple<int, int>> list = new List<Tuple<int, int>>(); for (int i = 0; i < n; ++i) { var ab = Read.IntN(); list.Add(new Tuple<int, int>(ab[0], ab[1])); } return list.ToArray(); }
            public static Tuple<long, long>[] TupleLong(int n) { List<Tuple<long, long>> list = new List<Tuple<long, long>>(); for (int i = 0; i < n; ++i) { var ab = Read.LongN(); list.Add(new Tuple<long, long>(ab[0], ab[1])); } return list.ToArray(); }
            public static Tuple<string, string>[] TupleStr(int n) { List<Tuple<string, string>> list = new List<Tuple<string, string>>(); for (int i = 0; i < n; ++i) { var ab = Read.StrN(); list.Add(new Tuple<string, string>(ab[0], ab[1])); } return list.ToArray(); }
            public static Tuple<double, double>[] TupleDouble(int n) { List<Tuple<double, double>> list = new List<Tuple<double, double>>(); for (int i = 0; i < n; ++i) { var ab = Read.LongN(); list.Add(new Tuple<double, double>(ab[0], ab[1])); } return list.ToArray(); }
            public static long[,] LongMatrix(int r, int c)
            {
                var mat = new long[r, c];
                for (int i = 0; i < r; ++i)
                {
                    var x = Read.LongN();
                    for (int j = 0; j < c; ++j)
                    {
                        mat[i, j] = x[j];
                    }
                }
                return mat;
            }
            public static Dictionary<int, HashSet<int>> AdjacencyList(int N, int M)
            {
                Dictionary<int, HashSet<int>> dict = new Dictionary<int, HashSet<int>>();
                for (int i = 0; i <= N; ++i)
                {
                    dict.Add(i, new HashSet<int>());
                }
                for (int i = 0; i < M; ++i)
                {
                    var ab = Read.IntN();
                    dict[ab[0]].Add(ab[1]);
                    dict[ab[1]].Add(ab[0]);
                }
                return dict;
            }
            public static Dictionary<int, Dictionary<int, long>> AdjacencyListWithWeight(int N, int M)
            {
                Dictionary<int, Dictionary<int, long>> dict = new Dictionary<int, Dictionary<int, long>>();
                for (int i = 0; i <= N; ++i)
                {
                    dict.Add(i, new Dictionary<int, long>());
                }
                for (int i = 0; i < M; ++i)
                {
                    var ab = Read.IntN();
                    dict[ab[0]].Add(ab[1], ab[2]);
                    dict[ab[1]].Add(ab[0], ab[2]);
                }
                return dict;
            }
        }
    }
}

Submission Info

Submission Time
Task B - Evilator
User UsagiSony
Language C# (Mono 4.6.2.0)
Score 400
Code Size 7820 Byte
Status AC
Exec Time 24 ms
Memory 11744 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 2
AC × 12
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 24 ms 11744 KB
02.txt AC 24 ms 11744 KB
03.txt AC 24 ms 9696 KB
04.txt AC 24 ms 9824 KB
05.txt AC 23 ms 9696 KB
06.txt AC 24 ms 11316 KB
07.txt AC 24 ms 9696 KB
08.txt AC 23 ms 9696 KB
09.txt AC 22 ms 11220 KB
10.txt AC 22 ms 11220 KB
s1.txt AC 22 ms 9172 KB
s2.txt AC 22 ms 11220 KB