// 2023 IUSB Programming Competition // Round 2 Problem 1 // Alarm Clock // Solution by Liguo Yu #include #include using namespace std; int main() { string current_time; string ampm; int sleep_time; cin >> current_time; cin >> ampm; cin >> sleep_time; int colon_position = current_time.find(':'); string current_hour = current_time.substr(0, colon_position); string current_minute = current_time.substr(colon_position+1); int hours = atoi(current_hour.c_str()); if(hours == 12) hours = 0; int minutes = atoi(current_minute.c_str()); if(ampm=="pm") { hours = hours + 12; } int sleep_hours = (sleep_time + minutes) / 60; int a_minutes = (sleep_time + minutes) % 60; string alarm_minutes; if(a_minutes > 9) alarm_minutes = std::to_string(a_minutes); else alarm_minutes = "0" + std::to_string(a_minutes); int alarm_hour = hours + sleep_hours; alarm_hour = alarm_hour % 24; string alarm_ampm; if (alarm_hour > 11) alarm_ampm = "pm"; else alarm_ampm = "am"; alarm_hour = alarm_hour % 12; if(alarm_hour == 0) alarm_hour = 12; cout << alarm_hour << ":" << alarm_minutes << " " << alarm_ampm; }