1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>

using namespace std;

int main() {
    // Wyłączenie synchronizacji z biblioteką stdio dla najszybszego wejścia/wyjścia
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    int x, d, h, m;
    if (cin >> x >> d >> h >> m) {
        // Zapisane z góry minuty końców poszczególnych rund (indeks 0 jest pusty)
        int end_times[] = {0, 2880, 4320, 5760, 7200, 10020};
        
        // Obliczanie minuty startu (od początku 23 marca)
        int start_time = (d - 23) * 1440 + h * 60 + m;
        
        // Korekta zjawiska zmiany czasu na letni (29 marca o 2:00 -> 3:00)
        if (d == 29 && h >= 3) {
            start_time -= 60;
        }
        
        // Wynik to różnica między końcem przypisanej rundy a realnym czasem startu
        cout << end_times[x] - start_time << "\n";
    }
    
    return 0;
}