blob: 477d31a3f2074eae6ccb0ff0584cc24e5193fe8e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
use std::io;
use std::str::FromStr;
#[allow(unused_variables)]
#[allow(dead_code)]
fn read_line() -> String {
let mut buffer = String::new();
io::stdin()
.read_line(&mut buffer)
.expect("failed to read line");
buffer
}
#[allow(dead_code)]
fn read<T: FromStr>() -> Result<T, T::Err> {
read_line().trim().parse::<T>()
}
#[allow(dead_code)]
fn read_vec<T: FromStr>() -> Result<Vec<T>, T::Err> {
read_line()
.split_whitespace()
.map(|x| x.parse::<T>())
.collect()
}
fn solve() {
let v: Vec<i32> = read_vec().unwrap();
let (_, mut t) = (v[0], v[1]);
let a: Vec<i32> = read_vec().unwrap();
let b: Vec<i32> = read_vec().unwrap();
let mut mx = 0;
let mut idx = -1;
for i in 0..a.len() {
if t >= a[i] && b[i] > mx {
idx = i as i32 + 1;
mx = b[i];
}
t -= 1;
}
println!("{idx}");
}
fn main() {
let t = read::<i32>().unwrap();
for _i in 0..t {
solve();
}
}
|