Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- static const unsigned long cache[] = {
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 13, 14, 15, 17, 17, 19, 19, 21, 22, 23, 23, 27, 27, 27, 28, 30, 30, 32, 32, 35, 36, 36, 36, 41, 41, 41, 41, 44, 44, 46, 46, 48, 49, 49, 49, 57, 57, 57, 57, 57, 57, 60, 60, 63, 63, 63, 63, 68, 68, 68, 69, 74, 74, 76, 76, 76, 76, 76, 76, 87, 87, 87, 87, 87, 87, 87, 87, 92, 93, 93, 93, 98, 98, 98, 98, 101, 101, 104, 104, 104, 104, 104, 104, 119, 119, 119, 120, 120, 120, 120, 120, 120, 120, 120, 120, 129, 129, 129, 129, 134, 134, 134, 134, 134, 134, 134, 134, 144, 144, 144, 144, 144, 144, 147, 147, 155, 155, 155, 155, 160, 160, 160, 161, 161, 161, 161, 161, 161, 161, 161, 161, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 193, 193, 197, 197, 197, 197, 197, 197, 207, 207, 207, 207, 207, 207, 207, 207, 212, 212, 212, 212, 221, 221, 221, 221, 221, 221, 221, 221, 221, 222, 222, 222, 250, 250, 250, 250, 250, 250, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 276, 276, 276, 276, 276, 276, 276, 276, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 304, 304, 304, 305, 305, 305, 305, 305, 305, 305, 305, 305, 314, 314, 314, 314, 327, 327, 327, 327, 327, 327, 327, 327, 337, 337, 337, 337, 337, 337, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 391, 391, 391, 391, 391, 391, 391, 391, 391, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, 405, 405, 405, 405, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 447, 447, 447, 447, 447, 447, 447, 447, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 473, 473, 473, 473, 473, 473, 524, 524, 524, 524, 524, 524, 524, 524, 524, 524, 524, 524, 533, 533, 533, 533, 533, 533, 533, 533, 533, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 590, 590, 590, 590, 590, 590, 590, 590, 590, 590, 590, 590, 590, 590, 590, 590, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 641, 641, 641, 641, 641, 641, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 668, 668, 668, 668, 668, 668, 668, 668, 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, 709, 709, 709, 709, 709, 709, 709, 709, 709, 709, 709, 709, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 723, 724, 724, 724, 724, 724, 724, 724, 724, 724, 826, 826, 826, 826, 826, 826, 826, 826, 826, 826, 826, 826, 826, 826, 826, 826, 826, 826, 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, 851, 851, 851, 851, 851, 851, 851, 851, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 892, 930, 930, 930, 930, 930, 930, 930, 930, 930, 930, 930, 930, 930, 930, 930, 930, 930, 930, 930, 930, 930, 930, 930, 930, 930, 930, 930, 930, 930, 930, 930, 930, 943, 943, 943, 943, 943, 943, 943, 943, 943, 943, 943, 943, 943, 943, 943, 943, 994, 994, 994, 994, 994, 994, 994, 994, 994, 995, 995, 995, 995, 995, 995, 995, 995, 995, 995, 995, 995, 995, 995, 995, 995, 995, 995, 995, 995, 995, 995, 995, 995, 995, 995, 995, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1258, 1258, 1258, 1258, 1258, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370,
- };
- unsigned long determine_max_value(unsigned long coins)
- {
- unsigned long n2 = coins / 2;
- unsigned long n3 = coins / 3;
- unsigned long n4 = coins / 4;
- if (coins >= 0 && coins <= 1000)
- return cache[coins];
- if (n2 + n3 + n4 > coins)
- {
- /* See if we can split the subdenominations any further. */
- n2 = determine_max_value(n2);
- n3 = determine_max_value(n3);
- n4 = determine_max_value(n4);
- return n2 + n3 + n4;
- }
- else
- return coins;
- }
- int main(void)
- {
- unsigned long coins;
- while (scanf("%lu", &coins) == 1)
- {
- unsigned long result = determine_max_value(coins);
- printf("%lu\n", result);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement