蓝桥杯 19717 挖矿java

java 复制代码
import java.util.Scanner;

public class Main {
    public static void solve() {
        Scanner sc = new Scanner(System.in);
        
        int n = sc.nextInt();
        int m = sc.nextInt();
        
        int s = 0;
        int[] l = new int[m + 1];
        int[] r = new int[m + 1];
        //初始化,没有矿就是0
        for (int i = 0; i < n; ++i) {
            int x = sc.nextInt();
            if (Math.abs(x) <= m && x < 0) {
                l[-x]++;
            } else if (Math.abs(x) <= m && x > 0) {
                r[x]++;
            } else if (x == 0) {
                s++;
            }
        }
        //计算前缀和
        for (int i = 1; i <= m; ++i) {
            l[i] += l[i - 1];
            r[i] += r[i - 1];
        }
        
        int ans = Math.max(r[m], l[m]);//不调转方向的数量
        for (int i = 1; i <= m / 2; ++i) {
            int sr = r[i] + l[m - i * 2];
            int sl = l[i] + r[m - i * 2];
            ans = Math.max(ans, Math.max(sr, sl));
        }
        
        ans += s;
        System.out.println(ans);
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        int t = 1;
        while (t-- > 0) {
            solve();
        }
        
        sc.close();
    }
}
相关推荐
深圳市快瞳科技有限公司几秒前
宠物行为识别:将日常行为转化为可量化的健康指标
人工智能·算法·计算机视觉·宠物
稚南城才子,乌衣巷风流19 分钟前
长链剖分(Long Chain Decomposition)算法详解
算法·深度优先·图论
小大宇21 分钟前
python sqlalchemy 案例
开发语言·python
Dontla29 分钟前
冒烟测试介绍(Smoke Test、BVT构建验证测试、构建验收测试)与回归测试对比、与单元测试对比、与集成测试对比、Cypress
java·单元测试·集成测试
变量未定义~31 分钟前
环境治理、染色时间、小蓝组网
算法
名字还没想好☜1 小时前
Go 结构体内存对齐:调整字段顺序,同样的字段省下 40% 内存
开发语言·后端·golang·go·内存对齐
暖和_白开水1 小时前
数据分析agent(十):loguru日志输出优化 和es 启动流程
java·elasticsearch·数据分析
减瓦1 小时前
Gradle 版本演进全景:构建工具的进化密码
java·gradle
玛丽莲茼蒿1 小时前
很难出错的Spring5(十)—— IOC进阶
java·开发语言·jvm
Ulyanov1 小时前
雷达导引头仿真中的坐标系——从惯性系到量测角
开发语言·python·算法·系统仿真·雷达信号处理·雷达导引头