原题链接:传送门
题意:商店里有n个游戏,Maxim有一个钱包,钱包里有m张票据。游戏从左到右放着,Maxim试着用钱包里第一张票据按游戏摆放顺序购买每一款游戏。
这道题就是一个模拟水题,需要注意的是当且仅当他钱包中的第一张票据能够买走他当前位置摆放的游戏时,他才会将这张票据花掉,下一张票据才会变成钱包里的第一张票据。
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
int a[1005],c[1005];
int main(){
int n,m;
scanf("%d%d",&n,&m);
for(int i=0;i<n;i++){ //游戏价钱
scanf("%d",&c[i]);
}
for(int i=0;i<m;i++){ //票据
scanf("%d",&a[i]);
}
int sum = 0; //购买游戏数
int j = 0; //表示第一张票据
for(int i=0;i<n;i++){
if(a[j] >= c[i]){ //第一张票据够买当前位置游戏
sum ++;
j ++;
}
}
printf("%d\n",sum);
return 0;
}