結果
問題 | No.538 N.G.S. |
ユーザー |
![]() |
提出日時 | 2019-06-06 00:52:21 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 692 bytes |
コンパイル時間 | 1,480 ms |
コンパイル使用メモリ | 165,108 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-09-22 14:34:55 |
合計ジャッジ時間 | 3,003 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 51 |
ソースコード
#include <bits/stdc++.h> using namespace std; using LL = long long; int main() { // 1. 入力情報取得. LL b1, b2, b3; scanf("%lld %lld %lld", &b1, &b2, &b3); // 2. 友人が次に言う数字を抽出. // b2 = r * b1 + d // b3 = r * b2 + d // ans = r * b3 + d // -> // b3 - b2 = r * (b2 - b1) // b2 * b2 - b1 * b3 = d * (b2 - b1) // ans * (b2 - b1) = r * b3 * (b2 - b1) + d * (b2 - b1) // = b3 * (b3 - b2) + b2 * b2 - b1 * b3 // となることに注意. LL ans = b3 * (b3 - b2); ans += b2 * b2; ans -= b1 * b3; ans /= (b2 - b1); // 3. 出力. printf("%lld\n", ans); return 0; }