Submission #1126732


Source Code Expand

using System;
using System.Text;
using System.Linq;
using System.Collections;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using static System.Console;
using static System.Math;

namespace NotFounds
{
    public class Program
    {
        public static void Main(string[] args)
        {
            new Program().Solve();
        }

        public void Solve()
        {
            MyInputStream cin = new MyInputStream();

            var N = cin.ReadInt();
            var A = cin.ReadInt();
            var B = cin.ReadInt();

            var pos = 0;

            var dir  = 0;
            var dist = 0;
            for (int i = 0; i < N; ++i)
            {
                dir  = cin.Read() == "East" ? 1 : -1;
                dist = cin.ReadInt();

                if (dist < A)
                    pos += dir * A;
                else if (dist > B)
                    pos += dir * B;
                else
                    pos += dir * dist;
            }

            if (pos == 0)
                WriteLine(0);
            else if (pos < 0)
                WriteLine($"West {-pos}");
            else
                WriteLine($"East {pos}");
        }
    }

    public static class MyExtensions
    {
        public static string Reverse(this string sourse)
        {
            char[] chrAry = sourse.ToCharArray();
            Array.Reverse(chrAry);
            return new string(chrAry);
        }
    }

    public class MyInputStream
    {
        private char separator = ' ';
        private Queue<string> inputStream;
        public MyInputStream(char separator = ' ')
        {
            this.separator = separator;
            inputStream = new Queue<string>();
        }

        public string Read()
        {
            if (inputStream.Count != 0) return inputStream.Dequeue();
            string[] tmp = Console.ReadLine().Split(separator);
            for (int i = 0; i < tmp.Length; i++)
            {
                inputStream.Enqueue(tmp[i]);
            }
            return inputStream.Dequeue();
        }
        public string ReadLine() => Console.ReadLine();
        public int ReadInt() => int.Parse(Read());
        public long ReadLong() => long.Parse(Read());
        public double ReadDouble() => double.Parse(Read());
    }

    public class Pair<T1, T2>
    {
        public T1 First;
        public T2 Second;
        public Pair() { First = default(T1); Second = default(T2); }
        public Pair(T1 f, T2 s) { First = f; Second = s; }
        public override string ToString() { return "(" + First + ", " + Second + ")"; }
        public override int GetHashCode() { return First.GetHashCode() ^ Second.GetHashCode(); }
        public override bool Equals(object obj)
        {
            if (ReferenceEquals(this, obj)) return true;
            else if (obj == null) return false;
            var tmp = obj as Pair<T1, T2>;
            return (object)tmp != null && First.Equals(tmp.First) && Second.Equals(tmp.Second);
        }
    }

    #region HashMap
    public class HashMap<K, V> : Dictionary<K, V>
    {
        public HashMap() : base() { }
        public HashMap(int cap) : base(cap) { }
        public HashMap(IDictionary<K, V> dictionary) : base(dictionary) { }
        new public V this[K i]
        {
            get
            {
                V v;
                return TryGetValue(i, out v) ? v : base[i] = default(V);
            }
            set { base[i] = value; }
        }
    }
    #endregion
}

Submission Info

Submission Time
Task B - 双子とスイカ割り
User donguri411
Language C# (Mono 4.6.2.0)
Score 100
Code Size 3665 Byte
Status AC
Exec Time 23 ms
Memory 13268 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 3
AC × 36
Set Name Test Cases
Sample sample-01.txt, sample-02.txt, sample-03.txt
All sample-01.txt, sample-02.txt, sample-03.txt, test-01.txt, test-02.txt, test-03.txt, test-04.txt, test-05.txt, test-06.txt, test-07.txt, test-08.txt, test-09.txt, test-10.txt, test-11.txt, test-12.txt, test-13.txt, test-14.txt, test-15.txt, test-16.txt, test-17.txt, test-18.txt, test-19.txt, test-20.txt, test-21.txt, test-22.txt, test-23.txt, test-24.txt, test-25.txt, test-26.txt, test-27.txt, test-28.txt, test-29.txt, test-30.txt, sample-01.txt, sample-02.txt, sample-03.txt
Case Name Status Exec Time Memory
sample-01.txt AC 23 ms 13268 KB
sample-02.txt AC 22 ms 9172 KB
sample-03.txt AC 23 ms 11220 KB
test-01.txt AC 23 ms 11220 KB
test-02.txt AC 23 ms 11220 KB
test-03.txt AC 22 ms 9172 KB
test-04.txt AC 23 ms 11220 KB
test-05.txt AC 23 ms 11220 KB
test-06.txt AC 22 ms 11220 KB
test-07.txt AC 23 ms 11220 KB
test-08.txt AC 23 ms 11220 KB
test-09.txt AC 23 ms 11220 KB
test-10.txt AC 22 ms 9172 KB
test-11.txt AC 22 ms 9172 KB
test-12.txt AC 23 ms 13268 KB
test-13.txt AC 22 ms 9172 KB
test-14.txt AC 23 ms 11220 KB
test-15.txt AC 23 ms 11220 KB
test-16.txt AC 23 ms 13268 KB
test-17.txt AC 22 ms 9172 KB
test-18.txt AC 22 ms 9172 KB
test-19.txt AC 23 ms 11220 KB
test-20.txt AC 23 ms 13268 KB
test-21.txt AC 23 ms 13268 KB
test-22.txt AC 23 ms 11220 KB
test-23.txt AC 22 ms 9300 KB
test-24.txt AC 22 ms 9172 KB
test-25.txt AC 22 ms 9172 KB
test-26.txt AC 23 ms 11220 KB
test-27.txt AC 23 ms 13268 KB
test-28.txt AC 23 ms 9172 KB
test-29.txt AC 23 ms 9172 KB
test-30.txt AC 23 ms 11220 KB