結果
問題 | No.672 最長AB列 |
ユーザー |
![]() |
提出日時 | 2018-05-05 11:26:35 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
AC
|
実行時間 | 42 ms / 2,000 ms |
コード長 | 1,614 bytes |
コンパイル時間 | 848 ms |
コンパイル使用メモリ | 107,776 KB |
実行使用メモリ | 27,392 KB |
最終ジャッジ日時 | 2024-06-28 01:35:59 |
合計ジャッジ時間 | 2,171 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 16 |
コンパイルメッセージ
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 + 1 - FST[c]); } else { FST.Add(c, i + 1); } } 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(); } } }