結果
問題 | No.604 誕生日のお小遣い |
ユーザー | extelo |
提出日時 | 2017-12-08 18:25:29 |
言語 | C++17 (gcc 12.3.0 + boost 1.83.0) |
結果 |
WA
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 1,414 bytes |
コンパイル時間 | 546 ms |
コンパイル使用メモリ | 67,328 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-25 15:53:20 |
合計ジャッジ時間 | 1,379 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | WA | - |
testcase_01 | AC | 2 ms
5,376 KB |
testcase_02 | AC | 2 ms
5,376 KB |
testcase_03 | AC | 2 ms
5,376 KB |
testcase_04 | AC | 2 ms
5,376 KB |
testcase_05 | AC | 2 ms
5,376 KB |
testcase_06 | AC | 2 ms
5,376 KB |
testcase_07 | AC | 2 ms
5,376 KB |
testcase_08 | AC | 2 ms
5,376 KB |
testcase_09 | AC | 2 ms
5,376 KB |
testcase_10 | AC | 1 ms
5,376 KB |
testcase_11 | AC | 2 ms
5,376 KB |
testcase_12 | AC | 2 ms
5,376 KB |
testcase_13 | AC | 1 ms
5,376 KB |
testcase_14 | AC | 2 ms
5,376 KB |
testcase_15 | AC | 1 ms
5,376 KB |
testcase_16 | AC | 2 ms
5,376 KB |
testcase_17 | AC | 2 ms
5,376 KB |
testcase_18 | WA | - |
testcase_19 | WA | - |
testcase_20 | WA | - |
testcase_21 | WA | - |
testcase_22 | WA | - |
testcase_23 | WA | - |
ソースコード
#include <stdio.h> #include <iostream> class Yuki { public: long long int old; long long int sum; long long int start; long long int end; long long int middle; }; void BinarySearch(Yuki *yuki, long long int a_num, long long int b_get, long long int c) { while(1){ long long int n_get = yuki->middle / a_num; yuki->sum = b_get * n_get + (yuki->middle - n_get); /* printf("%lld %lld %lld\n", yuki->sum, n_get, yuki->middle-n_get); exit(0); */ if(yuki->sum < c && yuki->sum > 0){ if(yuki->middle == yuki->start){ yuki->old = yuki->end; break; } yuki->start = yuki->middle; yuki->middle = (yuki->end + yuki->middle) / 2; //printf("%lld 1\n", yuki->middle); } else if(yuki->sum > c || yuki->sum < 0){ if(yuki->middle == yuki->end){ yuki->old = yuki->start; break; } yuki->end = yuki->middle; yuki->middle = (yuki->start + yuki->end) / 2; //printf("%lld 2\n", yuki->middle); } else { yuki->old = yuki->middle; //printf("%lld\n", yuki.old); break; } } } int main(void) { long long int a_num, b_get, c; scanf("%lld %lld %lld", &a_num, &b_get, &c); Yuki yuki; yuki.sum=0; yuki.old = 1; yuki.start = 1; yuki.end = c; if(c == 1){ yuki.middle = 1; } else { yuki.middle = c / 2; } BinarySearch(&yuki, a_num, b_get, c); printf("%lld\n", yuki.old); return 0; }