题解 | #托米历险记#

托米历险记

https://ac.nowcoder.com/acm/problem/16607

#include<iostream>
#include<algorithm>
#define ll long long
using namespace std;
int a[100010];
int main()
{
ll n, j;
ll num1 = 0;//面值为25钞票数
ll num2 = 0;//面值为50钞票数
ll num3 = 0;//面值为100钞票数
cin >> n; //排队人数

for (ll i = 0;i < n;i++) {
    cin >> a[i];
}//输入每个人手上钞票的面值
for (j = 0;j < n;j++) {//该客人手中钞票面值为25
    if (a[j] == 25) {
        num1++;
    }
    else if (a[j] == 50) {//该客人手中钞票面值为50
        if (num1 > 0) {
            num1--;
            num2++;
        }
        else {
            cout << "NO" << endl;
            break;
        }
    }
    else {//该客人手中钞票面值为100
        if ((num1 >= 1) && (num2 >= 1)) {
            num1--;
            num2--;
            num3++;
        }
        else if (num1 >= 3) {
            num1 -= 3;
            num3++;
        }
        else {
            cout << "NO";
            break;
        }

    }

    
   

}
if (j == n) {
    cout << "YES" << endl;
}
return 0;

}

全部评论
这题目存不存在你收到100时只有按照第二种方法找钱后面才可以找完
点赞 回复 分享
发布于 2024-09-12 19:28 北京

相关推荐

评论
3
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务