Submission #1574062


Source Code Expand

use std::io::*;
use std::str::*;
use std::process;
use std::collections::HashMap;
use std::collections::VecDeque;

fn main(){
    let s = read_str();
    let mut sum:i32 = 0;
    let mut ans:i32 = s.len() as i32;

    for i in 0 .. s.len(){
        if(s[i]=='S'){
            sum += 1
        }
        if(s[i]=='T'){
            if(sum > 0){
                sum -=1;
                ans -=2;
            }
        }
    }
    println!("{}",ans);
}
fn read_str() -> Vec<char>{
    let s :String = read();
    s.chars().collect::<Vec<char>>()
}
fn read<T: FromStr>() -> T {
    let stdin = stdin();
    let stdin = stdin.lock();
    let s = stdin.bytes().map(|c| c.unwrap() as char)
        .skip_while(|c| c.is_whitespace())
        .take_while(|c| !c.is_whitespace())
        .collect::<String>();
    s.parse::<T>().unwrap_or_else(|_| panic!("Faild to parse {}", s))
}

Submission Info

Submission Time
Task A - STring
User uenoku
Language Rust (1.15.1)
Score 300
Code Size 908 Byte
Status AC
Exec Time 7 ms
Memory 4352 KB

Compile Error

warning: unnecessary parentheses around `if` condition, #[warn(unused_parens)] on by default
  --> ./Main.rs:13:11
   |
13 |         if(s[i]=='S'){
   |           ^^^^^^^^^^^

warning: unnecessary parentheses around `if` condition, #[warn(unused_parens)] on by default
  --> ./Main.rs:16:11
   |
16 |         if(s[i]=='T'){
   |           ^^^^^^^^^^^

warning: unnecessary parentheses around `if` condition, #[warn(unused_parens)] on by default
  --> ./Main.rs:17:15
   |
17 |             if(sum > 0){
   |               ^^^^^^^^^

warning: unused import: `std::process`, #[warn(unused_imports)] on by default
 --> ./Main.rs:3:5
  |
3 | use std::process;
  |     ^^^^^^^^^^^^

warning: unused import: `std::collections::HashMap`, #[warn(unused_imports)] on by default
 --> ./Main.rs:4:5
  |
4 | use std::collections::HashMap;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `std::collections::VecDeque`, #[warn(unused_imports)] on by default
 --> ./Main.rs:5:5
  |
5 | use std::collections::VecDeque;
  |   ...

Judge Result

Set Name Sample Subtask1 All
Score / Max Score 0 / 0 200 / 200 100 / 100
Status
AC × 3
AC × 9
AC × 13
Set Name Test Cases
Sample example0, example1, example2
Subtask1 example0, example1, example2, sub_corner0, sub_corner1, sub_corner2, sub_rand0, handmade0, handmade1
All corner0, corner1, corner2, example0, example1, example2, handmade0, handmade1, maxrand0, sub_corner0, sub_corner1, sub_corner2, sub_rand0
Case Name Status Exec Time Memory
corner0 AC 6 ms 4352 KB
corner1 AC 6 ms 4352 KB
corner2 AC 6 ms 4352 KB
example0 AC 2 ms 4352 KB
example1 AC 2 ms 4352 KB
example2 AC 2 ms 4352 KB
handmade0 AC 2 ms 4352 KB
handmade1 AC 2 ms 4352 KB
maxrand0 AC 7 ms 4352 KB
sub_corner0 AC 2 ms 4352 KB
sub_corner1 AC 2 ms 4352 KB
sub_corner2 AC 2 ms 4352 KB
sub_rand0 AC 2 ms 4352 KB