- 苹果摘陶陶
- 2015-09-22 20:01:55 @
#include <iostream>
using namespace std;
int t[305],a[2005];
int n,m;
void INPUT(){
cin>>n>>m;
int temp;
for(int i=1;i<=n;i++)cin>>a[i];
for(int i=1;i<=m;i++){
cin>>temp;
t[temp]++;
}
return;
}
int PICK(int pos){
int reach=a[pos]-1;
for(int i=reach-1;i>0;i--){
if(t[i]>0){
t[i]--;
return 1;
}
}
return 0;
}
int main()
{
INPUT();
int sum=0;
for(int i=1;i<=n;i++)sum+=PICK(i);
cout<<m-sum<<endl;
return 0;
}
只过了三个点
1 条评论
-
cwoj LV 8 @ 2016-08-13 14:43:57
不用这么麻烦......
直接sort+双重循环......
- 1