This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<stdio.h>
//FILE *input=freopen("input.txt","r",stdin);
#define MAX 20000001
int dp[MAX];
int a[101];
int b[101];
int main(){
int n,m,i,j,maxi=0,r,mini;
scanf("%d%d",&n,&m);
for(i=0;i<n;i++){
scanf("%d",&a[i]);
if(maxi<a[i])
maxi=a[i];
}
for(i=0;i<n;i++){
scanf("%d",&b[i]);
}
for(i=0;i<=m+maxi;i++){
dp[i]=-1;
}
dp[0]=0;
for(i=0;i<n;i++){
for(j=m-1;j>=0;j--){
if(dp[j]==-1)
continue;
r=dp[j]+b[i];
if(dp[j+a[i]]>r||dp[j+a[i]]==-1){
dp[j+a[i]]=r;
}
}
}
mini=100001;
for(j=m;j<m+maxi;j++){
if(dp[j]<mini&&dp[j]!=-1){
mini=dp[j];
}
}
printf("%d",mini);
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |