結果

問題 No.3114 0→1
ユーザー rhoo
提出日時 2025-04-18 21:31:19
言語 Rust
(1.83.0 + proconio)
結果
WA  
実行時間 -
コード長 820 bytes
コンパイル時間 13,838 ms
コンパイル使用メモリ 383,692 KB
実行使用メモリ 7,848 KB
最終ジャッジ日時 2025-04-18 21:31:35
合計ジャッジ時間 12,909 ms
ジャッジサーバーID
(参考情報)
judge1 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other WA * 30
権限があれば一括ダウンロードができます

ソースコード

diff #

#![allow(unused_imports,non_snake_case,dead_code)]
use std::{cmp::Reverse as Rev,collections::*,iter::*};
use proconio::{marker::*,*};


#[fastout]
fn main(){
    input!{
        n:usize,
        s:Chars,
    }

    let mut es=vec![];
    for i in 0..n-1{
        if &s[i..=i+1]==&['0','0']{
            es.push((i,i+1));
        }
    }
    for i in 1..n-1{
        if &s[i-1..=i+1]==&['0','1','0']{
            es.push((i-1,i+1));
        }
    }
    es.sort_unstable();

    // eprintln!("{:?}",es);
    if es.is_empty(){
        println!("0");
        return;
    }

    let mut ans=0;
    let mut cnt=0;
    let mut prev=es[0].0;

    for &(u,v) in &es{
        cnt+=1;
        if u!=prev{
            ans+=(cnt+1)/2;
            cnt=0;
        }
        prev=v;
    }

    ans+=(cnt+1)/2;
    println!("{ans}");
}
0