Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Text.RegularExpressions;
- namespace beerstoc
- {
- class MainClass
- {
- public static void Main (string[] args)
- {
- ulong ReservedBeers = ulong.Parse(Console.ReadLine ());
- ulong Beers = 0, SixPacks = 0, Cases = 0;
- var Input = Console.ReadLine ().Split(' ');
- while (Input[0] != "Exam") {
- switch (Input[1]) {
- case "beers":
- Beers += ulong.Parse(Input [0]);
- Input = Console.ReadLine ().Split(' ');
- break;
- case "sixpacks":
- SixPacks += ulong.Parse(Input [0]);
- Input = Console.ReadLine ().Split(' ');
- break;
- case "cases":
- Cases += ulong.Parse(Input [0]);
- Input = Console.ReadLine ().Split(' ');
- break;
- default:
- Input = Console.ReadLine ().Split(' ');
- break;
- }
- }
- ulong AvailableBeers = (Beers + SixPacks *6 +Cases*24) - (Beers + SixPacks *6 +Cases*24) / 100;
- if ((AvailableBeers)<ReservedBeers) {
- ulong NeededBeer = ReservedBeers - AvailableBeers;
- // if (NeededBeer >=100) {
- // NeededBeer+=NeededBeer/100;
- // }
- Console.WriteLine ("Not enough beer. " +
- "Beer needed: {0} cases" +
- ", {1} sixpacks " +
- "and {2} beers.",NeededBeer/24,(NeededBeer%24)/6,((NeededBeer%24)%6));
- } else {
- if (Beers>=ReservedBeers) {
- Beers -= ReservedBeers;
- } else if ((SixPacks*6+Beers)>=ReservedBeers) {
- ReservedBeers -= Beers;
- SixPacks -= (ReservedBeers/6 - 1);
- Beers = ReservedBeers % 6;
- } else {
- ReservedBeers -= (Beers + SixPacks * 6);
- Cases -= (ReservedBeers / 24 - 1);
- if (SixPacks>=(ReservedBeers%24)/6) {
- SixPacks = (ReservedBeers % 24) / 6;
- Beers = ((ReservedBeers % 24) % 6);
- } else {
- SixPacks = 0;
- Beers = ReservedBeers % 24;
- }
- }
- Console.WriteLine ("Cheers! Beer left: {0} cases, {1} sixpacks and {2} beers.",Cases,SixPacks,Beers);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement