首页 > 其他分享 >游游的元素修改(携程24秋招研发岗第一批)

游游的元素修改(携程24秋招研发岗第一批)

时间:2024-04-16 20:22:06浏览次数:27  
标签:24 scanner int res long 游游 秋招 needL

题面

游游的元素修改
游游拿到了一个数组,她每次操作可以使得一个元素加1,另一个元素减1。
游游希望最终数组的每个元素大小都在[l,r]范围内,她想知道自己最少多少次操作可以达成目标?

输入

第一行输入一个正整数t,代表用例的组数。
对于每组用例:
第一行输入三个正整数n,l,r。
第二行输入n个正整数a_i,代表游游拿到的数组。
1<= t <= 1000
2<= n <= 200000
1<= l <= r <= 10^9
1<= a_i <= 10^9
保证所有的n的总和不超过200000。

输出

核心思想

代码

```java import java.util.*;

class Main {
static final int MAXN = 1010;
static long[] res;
public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in);
    int t = scanner.nextInt();
    res = new long[t];
    Arrays.fill(res, -1);
    for(int i = 0; i < t; i++){
        int n = scanner.nextInt();
        int l = scanner.nextInt();
        int r = scanner.nextInt();
        // 比l大的有多少 比r小的有多少
        long lessThanR = 0, moreThanL = 0;
        // 超出左边界的有多少 超出右边界的有多少
        long needL = 0, needR = 0;
        for(int j = 0; j < n; j++){
            long x = scanner.nextLong();
            if(x > l)
                moreThanL += (x - l);
            if(x < r)
                lessThanR += (r - x);
            if(x < l)
                needL += l - x;
            if(x > r)
                needR += x - r;
        }
        if(needL >= needR && moreThanL >= needL){
            res[i] = needL;
        }
        if(needL <= needR && lessThanR >= needR){
            res[i] = needR;
        }
    }
    for(long num: res){
        System.out.println(num);
    }
}

}

标签:24,scanner,int,res,long,游游,秋招,needL
From: https://www.cnblogs.com/ganyq/p/18139112

相关文章

  • 游游的you矩阵(携程24秋招研发岗第一批)
    题面游游拿到了一个字符矩阵,她想知道有多少个三角形满足以下条件:三角形的三个顶点分别是y、o、u字符。三角形为直角三角形,且两个直角边一个为水平、另一个为垂直。输入第一行输入两个正整数n,m,用空格隔开,代表矩阵的行数和列数。接下来的n行,每行输入一个长度为m的字......
  • 2024-04-16 闲话
    今天因为https://mp.weixin.qq.com/s/vEcWmJCA8GP9h311viSJwQ被很多人辱骂了。然后简单思考了一下如何回应这种问候,然后自然想到了从https://m.cyol.com/gb/articles/2023-04/20/content_X5eNg6HpYg.html入手使用格林公式解决。具体格林公式如下:......
  • 【2024蓝桥B组】好数
    好数题目 题目分析1.蓝桥杯不怕麻烦的,一般可以选择用longlongint替换int,防止数据过大2.这道题不怕麻烦的话,可以直接暴力解,用多个if语句进行判断即可3.想要美观点的,就进行数位判断4.这道题就一个关键点:奇数位对奇数,偶数位对偶数代码1#include<iostream>usingname......
  • 【专题】中国纯电新能源汽车-市场发展和用车报告2024年报告合集PDF分享(附原数据表)
    原文链接:https://tecdat.cn/?p=35878原文出处:拓端数据部落公众号2023年,纯电车型在新能源市场中占据高达七成的市场份额,尽管技术挑战仍然存在。插混及增程车型在续航里程和驾驶体验上取得显著进步,但纯电车型仍占据主导地位。预计未来几年,插混及增程车型市场份额将持续攀升,为市场......
  • Ubuntu 24.04 LTS (Noble Numbat) 下载
    Ubuntu24.04LTS(NobleNumbat)下载Ubuntu24.04LTS开启Beta测试,正式版即将发布请访问原文链接:Ubuntu24.04LTS(NobleNumbat),查看最新版。原创作品,转载请保留出处。作者主页:sysin.org无耻抄袭者YuTao,请立遁!!!Ubuntu24.04LTS首个Beta已发布。本次Beta测......
  • 揭秘2024年DevOps顶级工具
    DevOps工具对于作为价值流的基本要素的透明度、自动化和合作起着决定性作用。这些工具对于建立一个高效的信息和技术知识分享及交换渠道至关重要,涵盖了包括开发、运维、安全和商业团队在内的所有相关方。这种合作方式确保了沟通和知识能够顺畅流动,极大地促进了产品交付流程的效......
  • 24/04/16 树
    \(\color{red}(-114514)\)P1424小鱼的航程(改进版)有一只小鱼,它平日每天游泳\(250\)公里,周末休息(实行双休日),假设从周\(x\)开始算起,过了\(n\)天以后,小鱼一共累计游泳了多少公里呢?太难了,先咕咕咕。\(\color{red}(1)\)UOJ387ToDoTree有\(n\)个任务,做第\(i\)个......
  • 2024 热门低代码平台盘点,十大主流低代码开发平台
    随着数字化转型的浪潮席卷全球,零代码平台成为企业快速构建应用程序的首选工具。国内低代码市场也呈现出蓬勃发展的态势,各种低代码平台如雨后春笋般涌现。本文将对2024年度国内低代码平台进行热度排名,以帮助企业和开发者更好地了解市场情况,选择适合自己的低代码平台。国内十大......
  • 十三载求索续风华,数智化扬帆启新航 | 万字长文回顾DTC 2024
    4月13日下午,为期两天的第十三届数据技术嘉年华(DTC2024)在北京新云南皇冠假日酒店圆满落下帷幕。本次大会由中国数据库联盟与墨天轮社区联合主办,以“智能·云原生·一体化——DB与AI协同创新,模型与架构融合发展”为主题,汇聚80余位行业杰出技术领袖、学术精英、行业实践者、生态布......
  • 2024.4.16 训练1(VP) CodeForces自创MashUP训练赛(rating1200-1400)
    mashup链接:https://codeforces.com/gym/518192A.FriendlyArrays经典位运算,这里有个小trick,就是涉及到逻辑运算符的都把每一位拆开来看看影响根据或运算的性质,对于a数列每个数的某一位来说,如果b数组中某个数在这一位上有1,那么在a数组的每个数的这一位都能保证变为1。而在后面......