蓝桥杯 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();
    }
}
相关推荐
lsx202406几秒前
《jEasyUI 创建树形下拉框》
开发语言
minji...5 分钟前
Linux 网络套接字编程(一)端口号port,socket套接字,socket,bind,socket 通用结构体
linux·运维·服务器·开发语言·网络
2301_814809867 分钟前
踩坑实战pywebview:用 Python + Web 技术打造轻量级桌面应用
开发语言·前端·python
anzhxu7 分钟前
Spring Boot(七):Swagger 接口文档
java·spring boot·后端
南境十里·墨染春水7 分钟前
C++流类库 字符串流
开发语言·c++
lUie INGA7 分钟前
快速在本地运行SpringBoot项目的流程介绍
java·spring boot·后端
smj2302_796826529 分钟前
解决leetcode第3906题统计网格路径中好整数的数目
python·算法·leetcode
KobeSacre11 分钟前
leetcode 树
算法·leetcode·职场和发展
探险的机器猫15 分钟前
使用 java 搭建一个基于 StreamableHTTP 的 MCP 服务
java·mcp