結果
問題 |
No.672 最長AB列
|
ユーザー |
![]() |
提出日時 | 2018-06-10 10:55:43 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
AC
|
実行時間 | 47 ms / 2,000 ms |
コード長 | 714 bytes |
コンパイル時間 | 844 ms |
コンパイル使用メモリ | 112,160 KB |
実行使用メモリ | 31,884 KB |
最終ジャッジ日時 | 2024-06-30 13:13:31 |
合計ジャッジ時間 | 2,207 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
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 static System.Console; class Program { static void Main() { var S = ReadLine(); if (!S.Contains('A') || !S.Contains('B')) { WriteLine(0); return; } var s = new int[S.Length + 1]; var dic = new Dictionary<int, int>(); for (int i = 1; i < s.Length; i++) { s[i] = s[i - 1] + (S[i - 1] == 'A' ? 1 : -1); dic[s[i]] = i; } var ans = 0; for (int i = 0; i < s.Length; i++) { if (dic.ContainsKey(s[i])) { ans = Math.Max(ans, dic[s[i]] - i); } } WriteLine(ans); } }