noip模拟赛 卖书
分析:模拟题,只是有几个地方需要注意一下:第一个人必须支付5元,找零15元可以找一张10元一张5元,也可以找3张5元.
#include <cstdio> #include <cstring> #include <iostream> #include <algorithm> int n, t, a[4]; int main() { scanf("%d", &n); for (int i = 1; i <= n; i++) { scanf("%d", &t); if (i == 1) { if (t != 5) { printf("NO\n"); return 0; } a[1]++; } else { int p = t - 5; if (p == 5) a[1]--; if (p == 15) { if (a[2] >= 1) a[1]--, a[2]--; else a[1] -= 3; } if (a[1] < 0 || a[2] < 0) { printf("NO\n"); return 0; } if (t == 5) a[1]++; if (t == 10) a[2]++; } } printf("YES\n"); return 0; }