听好了,输入格式是第一行一个正整数N(1<=N<=100)表示总共的娱乐项目数;第二行一个正整数表示规定的时间t(0<t<1000);下面有N行,其中第i+2行有两个正整数fi(0<=fi<=100)和ti(0<ti<=100),分别表示对项目i的“喜欢度”和它所耗费的时间。输出的时候在第一行输出最大的“喜欢度”之和,下面给你一个样例:
样例1
样例1
样例输入1
3
5
1 2
5 5
4 3
Copy
样例输出1
5
import java.util.*; //1025小飞侠的游园方案 public class Main{ public static void main(String[] args){ Scanner rd=new Scanner(System.in); int a=rd.nextInt(); int time=rd.nextInt(); int [] arr=new int[time+1]; for(int i=0;i<a;i++) { int xhdu=rd.nextInt(); int time1=rd.nextInt(); for(int j=time;j>0;j--) { if(j>=time1) { arr[j]=Math.max(arr[j], arr[j-time1]+xhdu); } } } System.out.println(arr[time]); } }
作者:KJ.JK
本文仅用于交流学习,未经作者允许,禁止转载,更勿做其他用途,违者必究。
文章对你有所帮助的话,欢迎给个赞或者 star 呀,你的支持是对作者最大的鼓励,不足之处可以在评论区多多指正,交流学习呀