Submission #52989734
Source Code Expand
#![allow(unused_imports)] #![allow(unused_variables)] #![allow(non_snake_case)] #![allow(dead_code)] #![allow(unused_macros)] macro_rules! debug { ( $($val:expr),* $(,)* ) => {{ #[cfg(debug_assertions)] eprintln!( concat!($(stringify!($val), " = {:?}, "),*), $($val),* ); }}; } macro_rules! debug2D { ( $array:expr ) => {{ #![cfg(debug_assertions)] eprintln!("{}: ", stringify!($array)); for row in &$array { eprintln!("{:?}", row); } }}; } use proconio::{ input, marker::{Bytes, Chars, Usize1}, }; const NEG1: usize = 1_usize.wrapping_neg(); const INF: isize = 1001001001001001001; fn main() { input! { N: usize, K: Usize1, mut A: [isize; N] } if cfg!(debug_assertions) { let mut all = vec![]; for i in 0..N { for j in 0..i { all.push(A[i] * A[j]); } } all.sort(); eprintln!("{all:?}"); } // Aをソート A.sort(); // A[i] * A[j] がx未満である(i,j)の個数を数える let count = |x: isize| -> usize { let mut ans = 0; for i in 0..N { if A[i] >= 0 { let mut ok = NEG1; let mut ng = N; while ng.wrapping_sub(ok) > 1 { let mid = ok.wrapping_add(ng) / 2; if A[i] * A[mid] < x { ok = mid; } else { ng = mid; } } if ok != NEG1 && i <= ok { ans += ok; } else { ans += ok.wrapping_add(1); } } else { let mut ok = NEG1; let mut ng = N; while ng.wrapping_sub(ok) > 1 { let mid = ok.wrapping_add(ng) / 2; if A[i] * A[N - mid - 1] < x { ok = mid; } else { ng = mid; } } if ok != NEG1 && N.wrapping_sub(ok) - 1 <= i { ans += ok; } else { ans += ok.wrapping_add(1); } } } ans / 2 }; let mut ok = -INF; let mut ng = INF; while ng - ok > 1 { let mid = (ok + ng) / 2; if count(mid) <= K { ok = mid; } else { ng = mid; } } println!("{ok}"); }
Submission Info
Submission Time | |
---|---|
Task | D - Pairs |
User | powell |
Language | Rust (rustc 1.70.0) |
Score | 400 |
Code Size | 2575 Byte |
Status | AC |
Exec Time | 453 ms |
Memory | 6024 KiB |
Judge Result
Set Name | Sample | Subtask1 | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 400 / 400 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt, sample_03.txt |
Subtask1 | sample_01.txt, sample_02.txt, sample_03.txt, sub1_01.txt, sub1_02.txt, sub1_03.txt, sub1_04.txt, sub1_05.txt, sub1_06.txt, sub1_07.txt, sub1_08.txt, sub1_09.txt, sub1_10.txt, sub1_11.txt, sub1_12.txt, sub1_13.txt, sub1_14.txt, sub1_15.txt, sub1_16.txt, sub1_17.txt, sub1_18.txt, sub1_19.txt, sub1_20.txt, sub1_21.txt, sub1_22.txt, sub1_23.txt, sub1_24.txt, sub1_25.txt, sub1_26.txt, sub1_27.txt, sub1_28.txt, sub1_29.txt, sub1_30.txt, sub1_31.txt, sub1_32.txt, sub1_33.txt, sub1_small_01.txt, sub1_small_02.txt, sub1_small_03.txt, sub1_small_04.txt, sub1_small_05.txt, sub1_small_06.txt, sub1_small_07.txt, sub1_small_08.txt, sub1_small_09.txt, sub1_small_10.txt, sub1_small_11.txt, sub1_small_12.txt, sub1_small_13.txt, sub1_small_14.txt, sub1_small_15.txt, sub1_small_16.txt, sub1_small_17.txt, sub1_small_18.txt, sub1_small_19.txt, sub1_small_20.txt, sub1_small_21.txt, sub1_small_22.txt, sub1_small_23.txt, sub1_small_24.txt, sub1_small_25.txt, sub1_small_26.txt, sub1_small_27.txt, sub1_small_28.txt, sub1_small_29.txt, sub1_small_30.txt, sub1_small_31.txt, sub1_small_32.txt, sub1_small_33.txt, sub1_small_34.txt, sub1_small_35.txt, sub1_small_36.txt, sub1_small_37.txt, sub1_small_38.txt, sub1_small_39.txt, sub1_small_40.txt, sub1_small_41.txt, sub1_small_42.txt, sub1_small_43.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_01.txt | AC | 1 ms | 1984 KiB |
sample_02.txt | AC | 1 ms | 1924 KiB |
sample_03.txt | AC | 1 ms | 1980 KiB |
sub1_01.txt | AC | 102 ms | 3388 KiB |
sub1_02.txt | AC | 308 ms | 4896 KiB |
sub1_03.txt | AC | 431 ms | 5936 KiB |
sub1_04.txt | AC | 138 ms | 4116 KiB |
sub1_05.txt | AC | 102 ms | 3560 KiB |
sub1_06.txt | AC | 40 ms | 2420 KiB |
sub1_07.txt | AC | 327 ms | 5028 KiB |
sub1_08.txt | AC | 385 ms | 5420 KiB |
sub1_09.txt | AC | 314 ms | 4628 KiB |
sub1_10.txt | AC | 62 ms | 2632 KiB |
sub1_11.txt | AC | 224 ms | 5368 KiB |
sub1_12.txt | AC | 33 ms | 2236 KiB |
sub1_13.txt | AC | 231 ms | 4932 KiB |
sub1_14.txt | AC | 88 ms | 3092 KiB |
sub1_15.txt | AC | 31 ms | 2228 KiB |
sub1_16.txt | AC | 229 ms | 5512 KiB |
sub1_17.txt | AC | 123 ms | 3788 KiB |
sub1_18.txt | AC | 12 ms | 2240 KiB |
sub1_19.txt | AC | 252 ms | 5928 KiB |
sub1_20.txt | AC | 237 ms | 4016 KiB |
sub1_21.txt | AC | 349 ms | 5964 KiB |
sub1_22.txt | AC | 217 ms | 3680 KiB |
sub1_23.txt | AC | 148 ms | 3944 KiB |
sub1_24.txt | AC | 142 ms | 3476 KiB |
sub1_25.txt | AC | 69 ms | 2840 KiB |
sub1_26.txt | AC | 291 ms | 4640 KiB |
sub1_27.txt | AC | 206 ms | 3812 KiB |
sub1_28.txt | AC | 410 ms | 6016 KiB |
sub1_29.txt | AC | 276 ms | 5940 KiB |
sub1_30.txt | AC | 398 ms | 5892 KiB |
sub1_31.txt | AC | 400 ms | 5908 KiB |
sub1_32.txt | AC | 453 ms | 6024 KiB |
sub1_33.txt | AC | 448 ms | 5920 KiB |
sub1_small_01.txt | AC | 2 ms | 1828 KiB |
sub1_small_02.txt | AC | 1 ms | 1880 KiB |
sub1_small_03.txt | AC | 2 ms | 1956 KiB |
sub1_small_04.txt | AC | 1 ms | 1944 KiB |
sub1_small_05.txt | AC | 1 ms | 1920 KiB |
sub1_small_06.txt | AC | 2 ms | 1956 KiB |
sub1_small_07.txt | AC | 1 ms | 1980 KiB |
sub1_small_08.txt | AC | 2 ms | 2008 KiB |
sub1_small_09.txt | AC | 1 ms | 1944 KiB |
sub1_small_10.txt | AC | 2 ms | 1948 KiB |
sub1_small_11.txt | AC | 2 ms | 1828 KiB |
sub1_small_12.txt | AC | 2 ms | 1964 KiB |
sub1_small_13.txt | AC | 1 ms | 1956 KiB |
sub1_small_14.txt | AC | 2 ms | 1904 KiB |
sub1_small_15.txt | AC | 1 ms | 1868 KiB |
sub1_small_16.txt | AC | 3 ms | 1892 KiB |
sub1_small_17.txt | AC | 1 ms | 1920 KiB |
sub1_small_18.txt | AC | 1 ms | 2016 KiB |
sub1_small_19.txt | AC | 1 ms | 1868 KiB |
sub1_small_20.txt | AC | 2 ms | 2044 KiB |
sub1_small_21.txt | AC | 2 ms | 1904 KiB |
sub1_small_22.txt | AC | 2 ms | 1840 KiB |
sub1_small_23.txt | AC | 1 ms | 1984 KiB |
sub1_small_24.txt | AC | 1 ms | 1960 KiB |
sub1_small_25.txt | AC | 1 ms | 1996 KiB |
sub1_small_26.txt | AC | 1 ms | 1948 KiB |
sub1_small_27.txt | AC | 1 ms | 1896 KiB |
sub1_small_28.txt | AC | 1 ms | 1948 KiB |
sub1_small_29.txt | AC | 2 ms | 1964 KiB |
sub1_small_30.txt | AC | 1 ms | 1952 KiB |
sub1_small_31.txt | AC | 4 ms | 1964 KiB |
sub1_small_32.txt | AC | 2 ms | 2040 KiB |
sub1_small_33.txt | AC | 2 ms | 2020 KiB |
sub1_small_34.txt | AC | 2 ms | 1832 KiB |
sub1_small_35.txt | AC | 2 ms | 1908 KiB |
sub1_small_36.txt | AC | 1 ms | 1976 KiB |
sub1_small_37.txt | AC | 2 ms | 1884 KiB |
sub1_small_38.txt | AC | 1 ms | 1952 KiB |
sub1_small_39.txt | AC | 1 ms | 1988 KiB |
sub1_small_40.txt | AC | 3 ms | 1940 KiB |
sub1_small_41.txt | AC | 1 ms | 1924 KiB |
sub1_small_42.txt | AC | 1 ms | 1944 KiB |
sub1_small_43.txt | AC | 2 ms | 1960 KiB |