Educational Codeforces Round 47 (Rated for Div. 2) A(模拟)

题意
有n件物品,你又m个钱包,每件物品的价格为ai,每个钱包里的前为bi。你站在第一件物品前,如果你的第一个钱包能购买这件物品,你第一个钱包的钱直接消失(就相当于你是用第一个钱包里的所有钱购买了这件物品,不会找钱),如果无法购买那么就跳到下一件物品,以此类推,问你总共能购买多少件物品。
思路
直接模拟就好了,自己写的时候,感觉自己写的很乱,wa了两发,然后这场CF就gg了。。。感觉自己这种边界东西写的还是不好啊。
代码

#include <bits/stdc++.h>
using namespace std;
const int maxn = 1000 + 10;
int a[maxn] , b[maxn];
int main()
{
    int n,m;
    scanf("%d%d",&n,&m);
    for(int i = 0 ; i < n ; i++) scanf("%d",&a[i]);
    for(int i = 0 ; i < m ; i++) scanf("%d",&b[i]);
    int j = 0;
    for(int i = 0 ; i < n && j < m; i++)
    {
        if(a[i] <= b[j])
        {
            j++;
        }
    }
    cout<<j<<endl;
}

猜你喜欢

转载自blog.csdn.net/wjmwsgj/article/details/81062432