/* -*- coding: utf-8 -*- * * 1015.cc: No.1015 おつりは要らないです - yukicoder */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; /* constant */ const int MAX_N = 100000; const int bs[] = { 1000, 5000, 10000 }; /* typedef */ typedef long long ll; /* global variables */ int as[MAX_N], cs[3]; /* subroutines */ /* main */ int main() { int n; scanf("%d%d%d%d", &n, cs, cs + 1, cs + 2); for (int i = 0; i < n; i++) scanf("%d", as + i); priority_queue q(as, as + n); for (int i = 2; i >= 0; i--) { while (cs[i] > 0 && ! q.empty()) { int ai = q.top(); q.pop(); if (ai >= bs[i]) { int d = min(ai / bs[i], cs[i]); ai -= d * bs[i]; if (ai == 0) ai++; q.push(ai); cs[i] -= d; } else { cs[i]--; } } } if (q.empty()) puts("Yes"); else puts("No"); return 0; }