結果
問題 |
No.672 最長AB列
|
ユーザー |
![]() |
提出日時 | 2018-05-05 11:25:15 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,606 bytes |
コンパイル時間 | 2,353 ms |
コンパイル使用メモリ | 114,816 KB |
実行使用メモリ | 29,684 KB |
最終ジャッジ日時 | 2024-06-28 01:35:45 |
合計ジャッジ時間 | 2,692 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 10 WA * 6 |
コンパイルメッセージ
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.Generic; using System.Linq; using System.Web; namespace Competitive.lib { internal class Solution { public Dictionary<int, int> FST; public void Run() { string S = Console.ReadLine(); int N = S.Length; FST = new Dictionary<int, int>(); int ret = 0; int c = 0; FST.Add(0, 0); for (int i = 0; i < N; i++) { if (S[i] == 'A') c++; else c--; if (FST.ContainsKey(c)) { ret = Math.Max(ret, i - FST[c]); } else { FST.Add(c, i); } } Console.WriteLine(ret); } } // libs ---------- // common ---------- internal static class Input { public static int ReadInt() { string line = Console.ReadLine(); return int.Parse(line); } public static int[] ReadIntArray() { string line = Console.ReadLine(); return line.Split(' ').Select(int.Parse).ToArray(); } public static double[] ReadDoubleArray() { string line = Console.ReadLine(); return line.Split(' ').Select(double.Parse).ToArray(); } } internal class Program { public static void Main(string[] args) { var s = new Solution(); s.Run(); } } }