https://www.hackerrank.com/contests/kodamanwithothers/challenges/tv-program
解説
とりあえず、Dが平日か週末かで場合分けしよう。 与えられている時間の比較をするときは、24hで考えて、全て分に直すのがおすすめ。 つまり、hh:mmであれば、hh*60+mmとすれば単純な比較に落とすことができる。
int D, Sh, Sm, Th, Tm; //--------------------------------------------------------------------------------------------------- #define yes "Yay!" #define no ":(" string solve() { int L = Sh * 60 + Sm; int R = Th * 60 + Tm; if (D <= 5) { // weekday if (19*60 <= L and R <= 22*60) return yes; return no; } else { // weekend if (7*60 <= L and R <= 22*60) return yes; return no; } } //--------------------------------------------------------------------------------------------------- void _main() { cin >> D >> Sh >> Sm >> Th >> Tm; cout << solve() << endl; }