Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int doses = 0
- for milk = 1...M:
- // Step 1: Determine if that milk can be the bad milk [DONE]
- // Everyone who gets sick only gets sick after drinking the bad milk [DONE]
- boolean everyone_sick_after_bad = true;
- for sick = 1...S:
- int person_sick = sick_event[sick][0]
- int time_sick = sick_event[sick][1]
- // make sure they drank the bad milk before they got sick [DONE]
- boolean drank_before_sick = false;
- for event = 1... D:
- int person_event = drink_event[event][0]
- int milk_event = drink_event[event][1]
- int time_event = drink_event[event][2]
- if milk_event == milk and person_event == person_sick and time_event < time_sick:
- drank_before_sick = true
- if drank_before_sick == false:
- everyone_sick_after_bad = false
- if everyone_sick_after_bad == true:
- // Step 2: Determine how many doses of medicine are needed
- // Count the number of cows that drank the bad milk
- boolean array called drank_milk of length N
- // drank_milk[person] = T/F whether they drank the milk
- for i = 1... N:
- drank_milk[i] = false
- for event = 1...D:
- if drink_event[event][1] == milk:
- person = drink_event[event][0]
- drank_milk[person] = true
- // Count the number of true elements in drank_milk
- // That is the number of doses of medicine we need
- if count_true > doses:
- doses = count_true
- doses = max(doses, count_true)
- output doses
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement