結果
問題 |
No.604 誕生日のお小遣い
|
ユーザー |
![]() |
提出日時 | 2017-12-08 17:55:40 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,152 bytes |
コンパイル時間 | 687 ms |
コンパイル使用メモリ | 66,416 KB |
最終ジャッジ日時 | 2025-01-05 05:00:26 |
ジャッジサーバーID (参考情報) |
judge2 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 12 WA * 9 |
コンパイルメッセージ
main.cpp: In function ‘int main()’: main.cpp:45:8: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 45 | scanf("%lld %lld %lld", &a_num, &b_get, &c); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ソースコード
#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); if(yuki->sum < c){ 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->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 = 0; yuki.end = c; yuki.middle = c / 2; BinarySearch(&yuki, a_num, b_get, c); printf("%lld\n", yuki.old); return 0; }