結果

問題 No.2560 A_1 < A_2 < ... < A_N
ユーザー kutsutamakutsutama
提出日時 2024-01-02 01:07:07
言語 Rust
(1.77.0 + proconio)
結果
AC  
実行時間 119 ms / 2,000 ms
コード長 955 bytes
コンパイル時間 12,862 ms
コンパイル使用メモリ 400,300 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-09-27 17:37:49
合計ジャッジ時間 15,300 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 1 ms
6,816 KB
testcase_01 AC 12 ms
6,940 KB
testcase_02 AC 15 ms
6,940 KB
testcase_03 AC 13 ms
6,940 KB
testcase_04 AC 15 ms
6,944 KB
testcase_05 AC 16 ms
6,940 KB
testcase_06 AC 116 ms
6,940 KB
testcase_07 AC 109 ms
6,944 KB
testcase_08 AC 119 ms
6,940 KB
testcase_09 AC 113 ms
6,940 KB
testcase_10 AC 115 ms
6,944 KB
testcase_11 AC 1 ms
6,940 KB
testcase_12 AC 1 ms
6,944 KB
testcase_13 AC 1 ms
6,940 KB
testcase_14 AC 1 ms
6,940 KB
testcase_15 AC 2 ms
6,944 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

use std::io;

fn main() {
    let t = input_usize();

    for _ in 0..t {
        let raw = input_string();
        let sp: Vec<&str> = raw.split(' ').collect();
        let n: usize = parse(&sp[0]);
        let x: usize = parse(&sp[1]);

        let mut arr: Vec<usize> = (1..=n).collect();
        let sum: usize = arr.iter().sum();
        if sum > x {
            println!("-1");
            continue;
        }
        arr[n - 1] = n + x - sum;
        print_array(&arr);
    }
}

fn input_string() -> String {
    let mut input = String::new();
    io::stdin().read_line(&mut input).unwrap();
    input
}

fn input_usize() -> usize {
    let string_input = input_string();
    parse(&string_input)
}

fn parse(string: &str) -> usize {
    string.trim().parse().unwrap()
}

fn print_array<T: std::fmt::Display>(array: &Vec<T>) {
    let mut res = String::new();
    for a in array {
        res += &format!("{} ", a);
    }
    println!("{}", res);
}
0