aboutsummaryrefslogtreecommitdiff
path: root/codeforces/TubeTubeFeed/main.rs
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();
    }
}