一、问题介绍

51Nod - 1279

Sample Input

7 5
5
6
4
3
6
2
3
2
3
5
2
4

Sample Output

4

 

二、实现代码

#include <iostream>

using namespace std;

int main()
{
    int N,M;
    while(cin>>N>>M){
        int *pool,*plates,i,j,k,Count=0;
        pool=new int[N];
        plates=new int[M];
        for(i=0;i<N;i++)
            cin>>pool[i];
        for(i=0;i<M;i++)
            cin>>plates[i];
        i=0;
        j=N-1;
        while(j>=0){
            k=0;
            while(k<=j){
                if(plates[i]<=pool[k]){
                    if(k==j){
                        Count++;
                        i++;
                        j=k-1;
                        break;
                    }
                    else
                        k++;
                }
                else{
                    j=k-2;
                    if(j==-1)
                        break;
                    else{
                        Count++;
                        i++;
                        break;
                    }
                }
            }
            if(i>M-1) break;
        }
        cout<<Count<<endl;
    }
    return 0;
}

 

相关文章: