//Solution by Mikołaj Kołek
#include "bits/stdc++.h"
#define intin *istream_iterator<int>(cin)
using namespace std;
struct EndTime {
int day, hour, minute;
};
unordered_map<int, EndTime> endTimes = {
{ 1, { .day = 24, .hour = 23, .minute = 60 } },
{ 2, { .day = 25, .hour = 23, .minute = 60 } },
{ 3, { .day = 26, .hour = 23, .minute = 60 } },
{ 4, { .day = 27, .hour = 23, .minute = 60 } },
{ 5, { .day = 29, .hour = 23, .minute = 60 } }
};
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
int x = intin, d = intin, h = intin, m = intin, timeLeft = 0;
auto endTime = endTimes[x];
timeLeft += (endTime.day - d) * 24 * 60;
timeLeft += (endTime.hour - h) * 60;
timeLeft += (endTime.minute - m);
if(x == 5 and (d < 29 or (d == 29 and (h < 2))))
timeLeft -= 60;
cout << timeLeft;
return 0;
}
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 29 30 31 32 33 34 35 36 | //Solution by Mikołaj Kołek #include "bits/stdc++.h" #define intin *istream_iterator<int>(cin) using namespace std; struct EndTime { int day, hour, minute; }; unordered_map<int, EndTime> endTimes = { { 1, { .day = 24, .hour = 23, .minute = 60 } }, { 2, { .day = 25, .hour = 23, .minute = 60 } }, { 3, { .day = 26, .hour = 23, .minute = 60 } }, { 4, { .day = 27, .hour = 23, .minute = 60 } }, { 5, { .day = 29, .hour = 23, .minute = 60 } } }; int main() { ios_base::sync_with_stdio(0); cin.tie(0); int x = intin, d = intin, h = intin, m = intin, timeLeft = 0; auto endTime = endTimes[x]; timeLeft += (endTime.day - d) * 24 * 60; timeLeft += (endTime.hour - h) * 60; timeLeft += (endTime.minute - m); if(x == 5 and (d < 29 or (d == 29 and (h < 2)))) timeLeft -= 60; cout << timeLeft; return 0; } |
English