题解 | #合唱队#

合唱队

https://www.nowcoder.com/practice/6d9d69e3898f45169a441632b325c7b4

use std::io::{self, *};

fn maxLeft(q: &Vec<usize>, res: &mut Vec<usize>) {
    let mut temp = vec![usize::MAX; q.len()];
    let mut pos = 0;
    for i in q {
        match temp.as_slice().binary_search(i) {
            Ok(p) => pos = p,
            Err(p) => pos = p,
        }
        temp[pos] = *i;
        res.push(pos)
    }
}

fn main() {
    let stdin = io::stdin();
    let mut line = String::new();
    stdin.read_line(&mut line);
    let n = line.trim().parse::<usize>().unwrap();
    line.clear();
    stdin.read_line(&mut line);
    let mut q: Vec<usize> = line.split(" ").map(|i| i.trim().parse::<usize>().unwrap()).collect();
    let mut ml = vec![];
    let mut mr = vec![];

    maxLeft(&q, &mut ml);

    q.reverse();
    maxLeft(&q, &mut mr);
    mr.reverse();
    let max = mr.iter().zip(ml.iter()).max_by_key(|i| *(i.0) + *(i.1)).unwrap();
    println!("{}", n - max.0 - max.1 - 1)
}

全部评论

相关推荐

专业嗎喽:个人信息名字太大,合到电话邮箱那一栏就行,有党员写过党,剩下其他全删,站空太大了 把实习经历丰富,放最前面,然后是个人评价,技能之类的,然后是学校信息。项目经历最后面,可以就选一个自己擅长的。 现在是学校不是92就扣分的,没必要放前面。 然后现在看重实习经历>竞赛经历(校园经历)>课程项目经历
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
2025-11-21 11:29
已编辑
斯卡蒂味的鱼汤:知道你不会来数马,就不捞你😂最近数马疯狂扩招,招聘要求挺低的,你能力肯定够,应该就是因为太强了,知道你不会来才不捞你
投递腾讯云智研发等公司8个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务