結果
問題 | No.333 門松列を数え上げ |
ユーザー | dknoob |
提出日時 | 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 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 2 ms
6,812 KB |
testcase_01 | AC | 2 ms
6,944 KB |
testcase_02 | AC | 2 ms
6,944 KB |
testcase_03 | AC | 1 ms
6,944 KB |
testcase_04 | AC | 2 ms
6,944 KB |
testcase_05 | AC | 2 ms
6,940 KB |
testcase_06 | AC | 1 ms
6,944 KB |
testcase_07 | AC | 1 ms
6,940 KB |
testcase_08 | AC | 2 ms
6,940 KB |
ソースコード
#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; }