結果

問題 No.3434 [Cherry 8th Tune N] 大きくして Hold on Card!
コンテスト
ユーザー vjudge1
提出日時 2026-03-02 03:43:08
言語 Rust
(1.93.0 + proconio + num + itertools)
コンパイル:
/usr/bin/rustc_custom
実行:
./target/release/main
結果
WA  
実行時間 -
コード長 1,701 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 1,425 ms
コンパイル使用メモリ 207,436 KB
実行使用メモリ 27,452 KB
最終ジャッジ日時 2026-03-02 03:43:22
合計ジャッジ時間 10,759 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 2 WA * 41
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#![allow(dead_code, unused_imports)]

use std::cmp::{max, min};
use std::collections::{HashMap, HashSet, VecDeque};
use std::io::{BufRead, BufReader, BufWriter, Stdin, Stdout, Write, stdin, stdout};
use std::mem::swap;

pub struct Scanner<R> {
    reader: R,
    buffer: Vec<String>,
}

impl<R: std::io::BufRead> Scanner<R> {
    pub fn new(reader: R) -> Self {
        Self {
            reader,
            buffer: Vec::new(),
        }
    }

    pub fn cin<T: std::str::FromStr>(&mut self) -> T {
        loop {
            if let Some(token) = self.buffer.pop() {
                return token.parse().ok().expect("Failed to parse");
            }
            let mut input = String::new();
            self.reader.read_line(&mut input).expect("Failed to read");
            self.buffer = input.split_whitespace().rev().map(String::from).collect();
        }
    }
}

fn solve<R: BufRead>(scan: &mut Scanner<R>, out: &mut BufWriter<Stdout>) {
    let n = scan.cin::<usize>();
    let mut a = (0..n).map(|i| (scan.cin::<i64>(), i)).collect::<Vec<_>>();
    let b = (0..n).map(|_| scan.cin::<i64>()).collect::<Vec<_>>();
    let mut ans = vec![0; n];
    let mut j = 0;
    a.sort_unstable();
    for a in a {
        if b[j] > a.0 {
            ans[a.1] = 1;
            j += 1;
        } else {
            ans[a.1] = 0;
        }
    }
    for a in ans {
        write!(out, "{a}").ok();
    }
    writeln!(out).ok();
}

fn main() {
    let mut scan = Scanner::new(stdin().lock());
    let mut out = BufWriter::new(stdout());
    // let t = 1;
    let t = scan.cin::<usize>();
    (1..=t).for_each(|_tt| {
        // write!(out, "Case {tt}: ").ok();
        solve(&mut scan, &mut out);
    });
}
0