Fintech初试编程题
第一题dp感觉是对的怎么才10%正确率
import java.util.*;
public class Maink1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
int t=in.nextInt();
while(t-->0){
int n=in.nextInt();
int k=in.nextInt();
int []v=new int[n];
for(int i=0;i<n;i++){
v[i]=in.nextInt();
}
long [][]mon=new long[n+1][k+1];
for(int i=0;i<n+1;i++){
mon[i][0]=1;
}
for(int i=0;i<k+1;i++){
mon[0][i]=0;
}
for(int i=1;i<n+1;i++){
for(int j=1;j<k+1;j++){
int index =j-v[i-1];
long temp;
if(index<0){
temp = 0;
}
else{
temp=mon[i][index];
}
mon[i][j]=temp+mon[i - 1][j];
}
}
System.out.println(mon[n][k]%100000007);
}
}
}
/*
1
3 5
1 2 5
*/