Школа179: Разбор задачи A

https://server.179.ru/wiki     редакция: 20.08.2016 19:00:26
Информатика/Олимпиады/2008/Школьная/Разбор/A
Условия задачи первого тура

// Объявляем переменные
int x, y, z, t;

// Считываем данные
cin >> x >> y >> z >> t;

// Переведем начало сна профессора в 12-часовой формат
if(x>=12)
    x-=12;

// Посчитаем время начала сна профессора в минутах от 0:00
int sleep=60*x+y;

// Посчитаем время, когда прозвенит будильник в минутах от 0:00
int alarm=60*z+t;

// Посчитаем разницу между временем звонка и началом сна, т.е. сколько минут проспал профессор
int delta=alarm-sleep;

// Если получился отрицательных результат, нужно добавить 12 часов, т.е. 12*60 минут
if(delta<0)
    delta+=12*60;

// Наконец, выведем искомое время в часах (delta/60) и минутах (delta%60)
cout << delta/60 << " " << delta % 60 << endl;