T1

2017 清北济南考前刷题Day 6 morning

 贪心

10 元先找5元

20元 先找10+5,再找3张5

#include<cstdio>

using namespace std;

int m5,m10,m20;

int main()
{
    freopen("book.in","r",stdin);
    freopen("book.out","w",stdout);
    int n;
    scanf("%d",&n);
    int x;
    for(int i=1;i<=n;i++)
    {
        scanf("%d",&x);
        if(x==5) m5++;
        else if(x==10)
        {
            if(!m5) { puts("NO"); return 0; }
            m5--; m10++;
        }
        else
        {
            if(m10 && m5) m10--,m5--;
            else if(m5>=3) m5-=3;
            else { puts("NO"); return 0; }
        }
    }
    puts("YES"); return 0;
}
View Code

相关文章: