当前位置: 首页> 房产> 建材 > 执行任务赚积分

执行任务赚积分

时间:2025/7/11 23:46:55来源:https://blog.csdn.net/weixin_64742764/article/details/141984207 浏览次数:0次

题目描述

现有N个任务需要处理,同一时间只能处理一个任务,处理每个任务所需要的时间固定为1。
每个任务都有最晚处理时间限制和积分值,在最晚处理时间点之前处理完成任务才可获得对应的积分奖励。
可用于处理任务的时间有限,请问在有限的时间内,可获得的最多积分。

输入描述

第一行为一个数 N,表示有 N 个任务
1≤N≤100
第二行为一个数T,表示可用于处理任务的时间
1≤T≤100
接下来 N 行,每行两个空格分隔的整数(SLA和 V),SLA 表示任务的最晚处理时间,V表示任务对应的积分。
1≤SLA≤100
0≤V≤100000

输出描述

可获得的最多积分

public class 执行任务赚积分 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int t = sc.nextInt();List[] lists = new List[t + 1];for (int i = 0; i < t+1 ; i++) {lists[i] = new ArrayList();}for (int i = 0; i <= n; i++) {int endtime = sc.nextInt();int value = sc.nextInt();lists[Math.min(endtime,t)].add(value);}int sum = 0;ArrayList<Integer> wait = new ArrayList<>();for (int i = t; i > 0 ; i--) {wait.addAll(lists[i]);if (!wait.isEmpty()){wait.sort(Comparator.comparingInt(o -> o));sum += wait.remove(wait.size()-1);}}System.out.println(sum);}
}

关键字:执行任务赚积分

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: