P1091,P1017
//01背包
#include <cstdio>
#include <algorithm>
using
namespace
std;
int
v,n,tj[30],dp[21000],maxn;
int
main()
{
scanf
(
"%d%d"
,&v,&n);
for
(
int
i = 1;i <= n;i++)
scanf
(
"%d"
,&tj[i]);
for
(
int
i = 1;i <= n;i++)
{
for
(
int
j = v;j >= 0;j--)
{
if
(j - tj[i] >= 0) dp[j] = max(dp[j],dp[j - tj[i]] + tj[i]);
}
}
for
(
int
i = 0;i <= v;i++)
maxn = max(maxn,dp[i]);
printf
(
"%d\n"
,v - maxn);
return
0;
}
// #include<iostream>
// #include<algorithm>
// using namespace std;
// int main()
// {
// int n,m;
// cin>>n>>m;
// int rest=m;
// int apple[2000],tao[2000];
// tao[0]={0};
// for(int i=1;i<=n;i++)
// {
// cin>>apple[i];
// }
// for(int i=1;i<=m;i++)
// {
// cin>>tao[i];
// }
// sort(tao,tao+m+1);//取到加一
// // for(int i=0;i<=m;i++)
// // {
// // cout<<tao[i]<<" "<<endl;
// // }
// // return 0;
// // }
// //
// for(int i=1;i<=n;i++)
// {
// for(int j=1;j<=m;j++)
// {
// if(apple[i]<=tao[j]&&tao[j-1]!=0&&rest>0)
// {
// rest--;//cout<<rest<<endl;
// tao[j-1]={0};
// }
// }
// }
// cout<<rest<<endl;
// return 0;
// }
// #include<algorithm>
// using namespace std;
// int main()
// {
// int n,m;
// cin>>n>>m;
// int rest=m;
// int apple[2000],tao[2000];
// tao[0]={0};
// for(int i=1;i<=n;i++)
// {
// cin>>apple[i];
// }
// for(int i=1;i<=m;i++)
// {
// cin>>tao[i];
// }
// sort(tao,tao+m+1);//取到加一
// // for(int i=0;i<=m;i++)
// // {
// // cout<<tao[i]<<" "<<endl;
// // }
// // return 0;
// // }
// //
// for(int i=1;i<=n;i++)
// {
// for(int j=1;j<=m;j++)
// {
// if(apple[i]<=tao[j]&&tao[j-1]!=0&&rest>0)
// {
// rest--;//cout<<rest<<endl;
// tao[j-1]={0};
// }
// }
// }
// cout<<rest<<endl;
// return 0;
// }
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <cstring>
using
namespace
std;
int
n,m,gd[3000],tt[3000],tot;
int
main()
{
scanf
(
"%d%d"
,&n,&m);
for
(
int
i = 1;i <= n;i++)
scanf
(
"%d"
,&gd[i]);
for
(
int
i = 1;i <= m;i++)
scanf
(
"%d"
,&tt[i]);
for
(
int
i = 1;i <= n;i++)
{
int
maxn = 0,mwz = 0;
for
(
int
j = 1;j <= m;j++)
{
if
(tt[j] > maxn && tt[j] < gd[i])
{
maxn = tt[j];
mwz = j;
}
}
if
(mwz) tot++;
tt[mwz] = 99999999;
}
printf
(
"%d\n"
,m - tot);
return
0;
}