蓝桥杯 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();
    }
}
相关推荐
aXin_ya7 小时前
乐尚代驾,总结
java
catchadmin7 小时前
PHP 在领域驱动(DDD)设计中的核心实践
开发语言·php
仙俊红7 小时前
Java JUC:CompletableFuture 详解,多个任务并行执行并等待全部完成
java·python·spring
JAVA面经实录9177 小时前
MongoDB(文档型 NoSQL)
java·数据库·mongodb·nosql
cfm_29147 小时前
JVM类加载机制初步了解
java·jvm
让我上个超影吧7 小时前
Cluade code:上下文压缩
java·服务器·ai
2401_885665197 小时前
从零搭建卷积神经网络:基于PyTorch实现MNIST手写数字分类
pytorch·python·神经网络·算法·机器学习·分类·cnn
bIo7lyA8v7 小时前
算法优化的多层缓存映射与访问调度模型的技术8
算法
plainGeekDev7 小时前
批量写入 → Room 事务
android·java·kotlin
宋哥转AI7 小时前
MCP 第一天我没写@Tool,先在一个大仓库里划这三层
java·agent·mcp