fn solve()

in contests/arc007/arc007_2.rs [16:66]


fn solve(src: &str) -> String {
    let source = AutoSource::from(src);

    input! {
        from source,
        N: usize,
        M: usize,
        listen_order: [u64; M]
    }

    let mut cases: Vec<u64> = vec![];
    for i in 0..N + 1 {
        cases.push(i as u64);
    }

    for l in listen_order {
        if l == cases[0] {
            continue;
        }

        let mut key = 0;
        let mut i = 0;
        for case in cases.clone() {
            if case == l {
                key = i;
                break;
            }
            i += 1;
        }

        let tmp_now_listen = cases[key];
        cases[key] = cases[0];
        cases[0] = tmp_now_listen;
    }

    let mut answer = String::new();
    let mut is_first = true;
    for case in cases {
        if is_first {
            is_first = false;
            continue;
        }
        if answer.len() == 0 {
            answer = format!("{}", case);
        } else {
            answer = format!("{}\n{}", answer, case)
        }
    }

    answer.to_string()
}