結果
| 問題 | 
                            No.1101 鼻水
                             | 
                    
| コンテスト | |
| ユーザー | 
                             | 
                    
| 提出日時 | 2020-07-03 22:06:11 | 
| 言語 | C++14  (gcc 13.3.0 + boost 1.87.0)  | 
                    
| 結果 | 
                             
                                TLE
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 1,010 bytes | 
| コンパイル時間 | 1,677 ms | 
| コンパイル使用メモリ | 165,140 KB | 
| 実行使用メモリ | 8,576 KB | 
| 最終ジャッジ日時 | 2024-09-17 02:13:50 | 
| 合計ジャッジ時間 | 7,637 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge5 / judge1 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 2 TLE * 1 | 
| other | AC * 11 TLE * 1 -- * 10 | 
ソースコード
#include <bits/stdc++.h> //全てのヘッダファイルをインクルード
//ループ
#define rep(i, n) for(int i = 0; i < n; i++) //普通のループ
#define repr(i, n) for(int i = n; i >= 0; i--) //逆ループ
//型名省略
typedef long long ll;
//値
static const ll MX = 100005;
static const ll MX_ll = 1e18;
using namespace std;
//#include "./lib/generic/search.h"
int main(){
    ll v, t, p;
    cin >> v >> t >> p;
    ll hanamizu=0, susuru=t, time=1;
    while(1){
        if(hanamizu+susuru<=v){
            hanamizu+=susuru-1;
            time+=susuru;
            susuru=t;
        }
        else if(hanamizu+susuru>v && p>0){
            time+=v-hanamizu;
            susuru-=v-hanamizu;
            hanamizu=0;
            p--;
        }
        else{
            hanamizu++;
            if(hanamizu>v) break;
            time++;
        }
        //cout << "time:" << time << "hanamizu:"  << hanamizu << "susuru:" << susuru << "kamu:" << p << endl;
    }
    cout << time << endl;
}