結果
| 問題 |
No.333 門松列を数え上げ
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2016-02-25 00:32:10 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 2,000 ms |
| コード長 | 775 bytes |
| コンパイル時間 | 408 ms |
| コンパイル使用メモリ | 55,632 KB |
| 実行使用メモリ | 6,944 KB |
| 最終ジャッジ日時 | 2024-09-22 13:25:41 |
| 合計ジャッジ時間 | 915 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 7 |
ソースコード
#include <iostream>
#define LL long long
using namespace std;
const LL MAX = 2000000000;
int countPattern(LL left, LL center)
{
LL right_count = 0;
if(left < center) {
// 13(2) : x = 1 ~ 3 ... (center - left - 1) 通り
right_count += center - left - 1;
// 23(1) : x < 2 ... left == 1 ... 0通り, left != 1 ... (left - 1) 通り
if(left != 1) {
right_count += left - 1;
}
} else {
// 21(3) : x = 2 ~ MAX ... (MAX - left) 通り
right_count += MAX - left;
// 31(2) : x = 1 ~ 3 ... (left - center - 1) 通り
if(left - center > 1){
right_count += left - center - 1;
}
}
return right_count;
}
int main()
{
LL left = 0;
LL center = 0;
cin >> left >> center;
cout << countPattern(left, center) << endl;
return 0;
}