3 条题解

  • 0
    @ 2023-12-9 18:51:56

    import java.math.BigInteger;

    import java.util.Scanner;

    public class Main {

    public static void main(String[] args) {

    Scanner sc=new Scanner(System.in);

    int m=sc.nextInt();

    int n=sc.nextInt();

    int s[]=new int[n+1];

    int v[]=new int[n+1];

    for(int i=1;i<=n;i++){

    s[i]=sc.nextInt();

    v[i]=sc.nextInt(); }

    int arr[][]=new int[n+1][m+1];

    for(int i=1;i<=n;i++){

    for(int j=1;j<=m;j++){

    if(s[i]>j)arr[i][j]=arr[i-1][j];

    else arr[i][j]=Math.max(arr[i-1][j],arr[i-1][j- s[i]]+v[i]);

    }

    }

    System.out.printf("%d",arr[n][m]);

    }

    }

    信息

    ID
    574
    时间
    1000ms
    内存
    64MiB
    难度
    4
    标签
    (无)
    递交数
    43
    已通过
    21
    上传者