結果
問題 | No.550 夏休みの思い出(1) |
ユーザー | hotpepsi |
提出日時 | 2017-08-01 22:55:03 |
言語 | C++11 (gcc 11.4.0) |
結果 |
CE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 1,003 bytes |
コンパイル時間 | 341 ms |
コンパイル使用メモリ | 53,240 KB |
最終ジャッジ日時 | 2024-11-14 20:11:11 |
合計ジャッジ時間 | 1,097 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
コンパイルメッセージ
main.cpp: In function ‘LLLL solve(LL, LL, LL)’: main.cpp:12:29: error: ‘sqrt’ was not declared in this scope 12 | LL d = (LL)(sqrt((double)b * b - 4 * (double)a * c)); | ^~~~
ソースコード
#include <iostream> #include <algorithm> using namespace std; typedef long long LL; typedef pair<LL, LL> LLLL; LLLL solve(LL a, LL b, LL c) { LL p = 0, q = 0; if (a) { LL d = (LL)(sqrt((double)b * b - 4 * (double)a * c)); for (LL e = d - 64; e <= d + 64; ++e) { LL x = (-b - e) / (2 * a); LL y = (-b + e) / (2 * a); if (a * x * x + b * x + c == 0 && a * y * y + b * y + c == 0) { p = x, q = y; break; } } } return LLLL(p, q); } int main(int argc, char *argv[]) { LL a, b, c; cin >> a >> b >> c; LL ans[3]; for (LL x = -1000000; x <= 1000000; ++x) { LL p = a + x; LL q = b + p * x; if ((c == 0 && (x == 0 || q == 0)) || (x && q && (c % x) == 0 && (c % q) == 0 && abs(c / x + q) <= 1)) { LLLL y = solve(1, p, q); if (y.first || y.second) { ans[0] = x; ans[1] = y.first; ans[2] = y.second; break; } } } sort(ans, ans + 3); for (int i = 0; i < 3; ++i) { if (i) { cout << " "; } cout << ans[i]; } cout << endl; return 0; }