結果
問題 | No.559 swapAB列 |
ユーザー | vain0 |
提出日時 | 2017-08-25 22:29:00 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
AC
|
実行時間 | 20 ms / 2,000 ms |
コード長 | 4,328 bytes |
コンパイル時間 | 1,084 ms |
コンパイル使用メモリ | 116,716 KB |
実行使用メモリ | 17,536 KB |
最終ジャッジ日時 | 2024-10-15 15:58:41 |
合計ジャッジ時間 | 1,599 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 19 ms
17,280 KB |
testcase_01 | AC | 19 ms
17,280 KB |
testcase_02 | AC | 19 ms
17,536 KB |
testcase_03 | AC | 18 ms
17,408 KB |
testcase_04 | AC | 19 ms
17,408 KB |
testcase_05 | AC | 19 ms
17,536 KB |
testcase_06 | AC | 20 ms
17,536 KB |
testcase_07 | AC | 19 ms
17,280 KB |
testcase_08 | AC | 18 ms
17,408 KB |
testcase_09 | AC | 18 ms
17,280 KB |
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using System; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Diagnostics; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; public sealed partial class Program { public void EntryPoint() { var s = input.ReadLine(); var k = 0; var b = 0; for (var i = 0; i < s.Length; i++) { if (s[i] == 'A') { k += b; } else { b++; } } WriteLine(k); } } #region Custom Library public static class TemplateExtension { public static X[] MakeArray<X>(this int count, Func<int, X> func) { var xs = new X[count]; for (var i = 0; i < count; i++) { xs[i] = func(i); } return xs; } public static int[] Range(this int count, int start = 0) { return count.MakeArray(i => i + start); } public static string Intercalate<X>(this IEnumerable<X> @this, string separator) { return string.Join(separator, @this); } public static void ForEach<X>(this IEnumerable<X> @this, Action<X, int> action) { var list = @this as IReadOnlyList<X>; if (list != null) { var count = list.Count; for (var i = 0; i < count; i++) { action(list[i], i); } } else { var i = 0; foreach (var x in @this) { action(x, i); i++; } } } } public sealed class Scanner { readonly TextReader reader; readonly StringBuilder sb = new StringBuilder(); /// <summary> /// Reads next word separated by spaces. /// </summary> public string Word() { sb.Clear(); while (true) { var r = reader.Read(); if (r == '\r') { if (reader.Peek() == '\n') reader.Read(); break; } else if (r == -1 || r == ' ' || r == '\n') { break; } else { sb.Append((char)r); } } return sb.ToString(); } /// <summary> /// Reads next word as <see cref="int"/>. /// </summary> public int N() { return int.Parse(Word()); } /// <summary> /// Reads next word as <see cref="long"/>. /// </summary> public long L() { return long.Parse(Word()); } /// <summary> /// Reads next word as <see cref="double"/>. /// </summary> public double F() { return double.Parse(Word()); } public int[] Ns(int count) { return count.MakeArray(_ => N()); } public long[] Ls(int count) { return count.MakeArray(_ => L()); } public double[] Fs(int count) { return count.MakeArray(_ => F()); } /// <summary> /// Reads next line and splits it by spaces. /// </summary> public X[] Words<X>(Func<string, X> func) { return reader.ReadLine().Split(' ').Select(func).ToArray(); } public Scanner(TextReader reader) { this.reader = reader; } } public partial class Program { readonly TextReader input; readonly TextWriter output; readonly Scanner scanner; void WriteLine(int value) { output.WriteLine(value); } void WriteLine(long value) { output.WriteLine(value); } void WriteLine(double value) { output.WriteLine(value); } void WriteLine(char value) { output.WriteLine(value); } void WriteLine(string value) { output.WriteLine(value); } public Program(TextReader input, TextWriter output) { this.input = input; this.output = output; scanner = new Scanner(input); } public static void Main(string[] args) { #if DEBUG using (var writer = new VainZero.IO.DebugTextWriter(Console.Out)) #else var writer = Console.Out; #endif { new Program(Console.In, writer).EntryPoint(); } } } #endregion