結果
| 問題 |
No.740 幻の木
|
| コンテスト | |
| ユーザー |
@abcde
|
| 提出日時 | 2019-02-27 00:58:21 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,046 bytes |
| コンパイル時間 | 1,424 ms |
| コンパイル使用メモリ | 157,960 KB |
| 実行使用メモリ | 6,944 KB |
| 最終ジャッジ日時 | 2024-06-23 04:58:59 |
| 合計ジャッジ時間 | 1,472 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | WA * 3 |
| other | WA * 6 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
int main() {
// 1. 入力情報取得.
int N, M, P, Q;
cin >> N >> M >> P >> Q;
// 2. 葉を全て落とすのは何か月目?
// 2-1. 1年で落とす枚数は?
int Y = M * (12 + Q);
// 2-2. 幻の木がすべての葉を落とすのにかかる年数は?
// -> (N / Y) 年 -> これの月数を, 変数 ans に 加算.
int ans = 0;
ans = (N / Y) * 12;
N -= Y * (N / Y);
// 2-3. 残った葉を落とすのにかかる月数は?
int month = 1;
while(N){
ans++;
// 葉を落とす(通常の期間).
N -= M;
// 葉を落とす(風の強い期間, P ~ (P + Q - 1)月と設定).
if(P <= month && month <= P + Q - 1) N -= M;
// 年度更新.
month++;
if(month > 12) month -= 12;
// 終了条件.
if(N <= 0){
ans--;
break;
}
}
// 3. 出力 ~ 終了.
cout << ans << endl;
return 0;
}
@abcde