T1
贪心
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; }