Разбор задачи 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;