結果
| 問題 |
No.672 最長AB列
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2018-06-15 13:48:43 |
| 言語 | Rust (1.83.0 + proconio) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,017 bytes |
| コンパイル時間 | 12,386 ms |
| コンパイル使用メモリ | 403,884 KB |
| 実行使用メモリ | 13,880 KB |
| 最終ジャッジ日時 | 2024-06-30 14:47:40 |
| 合計ジャッジ時間 | 16,135 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 WA * 1 |
| other | AC * 4 WA * 2 TLE * 1 -- * 9 |
ソースコード
fn main(){
let s = getline();
let s = s.trim();
let length:isize = s.len() as isize;
let c = s.chars().collect::<Vec<char>>();
let mut ans:i32 = -1;
// println!("{:?}", s.char_at());
for i in 0..length {
ans = check_char(&c, length, length-i);
if ans != 0 {
break;
}
}
println!("{}", ans);
}
fn getline() -> String{
let mut __ret=String::new();
std::io::stdin().read_line(&mut __ret).ok();
return __ret;
}
fn check_char(c: &Vec<char>, length:isize, check_len: isize) -> i32{
let mut count_a:i32 = 0;
let mut count_b:i32 = 0;
let mut i:isize = 0;
//count A
//count B
while i + check_len <= length {
for j in i..(check_len+i) {
if c[j as usize] == 'A' {count_a+=1;}
if c[j as usize] == 'B' {count_b+=1;}
}
if count_a == count_b {break;}
i+=1;
}
// println!("{:?}", c);
if count_a == count_b && count_a !=0 {return count_a+count_b}
return 0;
}