码迷,mamicode.com
首页 > 其他好文 > 详细

P4745 B’s problem(b)

时间:2017-03-22 22:54:49      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:cout   span   排队   for   string   表示   数据   bsp   cst   

P4745 B’s problem(b)
时间: 1000ms / 空间: 655360KiB / Java类名: Main

背景

NOIP春季系列课程

描述

题目描述

         小B生活在一个很奇怪的国家里,这个国家的钱的面值只有可能是25,50,100的。小B最近在做社会实践,这次它选择在一个餐厅里干这件事情。但今天发生了一件有趣的事,这件事情是这个样子的,餐厅里大家都在排队买饭,粗心的打饭阿姨忘记要带零钱,并且所有排队打饭的人只带了一张钱。

         具体地,第i个人带了一张面额为ai的钱,为了方便起见,我们规定每个人都想买价值25元的饭盒。阿姨显得不知所措。聪明的小B想到了一个方法,让带了25元的先买饭!这样阿姨就有了更多的零钱去找开一些面值较大的钱。

         但这样对于一些人来说仍有可能找不开零钱,小B想知道是否存在一种排队方案,能够对所有人找开零钱。如果可行输出“YES”,否则输出“NO”。

输入格式

第一行一个数n,表示有n个想买饭的人。

         接下来一行n个数ai,表示第i个人带着的钱的面额。

 

输出格式

输出“YES”或者“NO”。

 

备注

输入样例

3

25 50 100

 

输出样例

NO

 

数据范围

对于100%的数据n<=100,ai=25或者50或者100。

 

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<string>
#include<cmath>
using namespace std;
int a[120];
int main()
{
    int m,n,tot=0;
    cin>>m;
    for(int i=1;i<=m;i++)
    {
        cin>>a[i];
    }
    sort(a+1,a+m+1);
    for(int i=1;i<=m;i++)
    {
        if(a[i]==25)tot+=25;
        else tot-=(a[i]-25);
        if(tot<0)
        {
        cout<<"NO";
        return 0;
        }
    }
    cout<<"YES";return 0;
}

 

P4745 B’s problem(b)

标签:cout   span   排队   for   string   表示   数据   bsp   cst   

原文地址:http://www.cnblogs.com/sssy/p/6602314.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!