結果

問題 No.3100 始業式
ユーザー PonnPonn
提出日時 2023-03-31 23:11:06
言語 C++17
(gcc 12.3.0 + boost 1.83.0)
結果
WA  
実行時間 -
コード長 1,668 bytes
コンパイル時間 2,068 ms
コンパイル使用メモリ 200,276 KB
実行使用メモリ 6,816 KB
最終ジャッジ日時 2024-09-23 02:15:22
合計ジャッジ時間 2,475 ms
ジャッジサーバーID
(参考情報)
judge2 / judge5
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 WA -
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;

using i64 = int64_t;
using ui64 = uint64_t;

#ifdef LOCAL_DEBUG
    #define debug(X) std::cerr << X << " "
    #define debugV(X) std::cerr << #X << " = " << X << ", "
    #define debugVL(Y) std::cerr << #Y << " = " << Y << '\n'
    #define debugWL(Z) std::cerr << #Z << '\n'
    #define debugP() std::cerr << "Line:" << __LINE__ << '\n'
#else
    #define debug(X)
    #define debugV(X)
    #define debugVL(Y)
    #define debugWL(Z)
    #define debugP()
#endif

int main() {
    cout << setprecision(17);

    i64 T, iS, iD;
    cin >> T >> iS >> iD;
    double S = iS, D = iD;



    i64 itime = iD/iS;
    double dtime = D/S;
    bool isInt = false;
    i64 yoruTime = 0;
    if(isInt){
        yoruTime += (itime / 24)*12;
        itime %= 24;
    }
    else{
        yoruTime += ((int)dtime / 24)*(12);
        dtime -= (int)(dtime / 24.0)*24;
    }

    if(iD % iS == 0){
        isInt = true;
        itime = iD/iS;
    }
    if(T < 6){
        debugP();
        while(T < 6){
            yoruTime++;
            T++;
        }
    }
    else if(18 <= T){
        debugP();
        while(T < 24){
            yoruTime++;
            T++;
        }
        T = 0;
        while(T < 6){
            yoruTime++;
            T++;
        }
    }
    else{
        debugP();
        while(T < 18){
            T++;
            yoruTime++;
        }
    }

    debugVL(yoruTime);

    debugV(itime);
    debugVL(dtime);
    double ans = 0.0;
    if(isInt){
        debugP();
        ans = min(yoruTime, itime);
    }
    else{
        debugP();
        ans = min((double)yoruTime, dtime);
    }

    cout << ans << endl;
}
0