結果
問題 | No.550 夏休みの思い出(1) |
ユーザー |
![]() |
提出日時 | 2017-07-29 17:58:26 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 5 ms / 2,000 ms |
コード長 | 1,584 bytes |
コンパイル時間 | 1,948 ms |
コンパイル使用メモリ | 172,380 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-10-11 05:41:19 |
合計ジャッジ時間 | 3,211 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 55 |
ソースコード
#include <bits/stdc++.h> using namespace std; typedef int32_t h_int32; typedef int64_t h_int64; typedef uint32_t uh_int32; typedef uint64_t uh_int64; typedef h_int64 h_int; #define REP( i, n ) for(int i = 0; i < ( int )( n ); ++i ) #define REPR( i, n ) for(int i = ( int )( n ); i >= 0; --i ) #define FOR( i, a, n ) for(int i = ( int )( a ); i < ( int )( n ); ++i ) #define FORR( i, a, n ) for(int i = ( int )( n ); i >= ( int )( a ); --i) #define ALL( x ) x.begin(), x.end() #define DOUT( x ) cerr << #x << " = " << x << "\n" #define COUT( x ) cout << ( x ) << "\n" #define DOUBLECOUT( num, x ) cout << fixed << setprecision( num ) << ( x ) << "\n" #define INF 999999999 #define PI 3.14159265359 h_int A, B, C, D; h_int f( h_int x ) { return x * x * x + A * x * x + B * x + C; } signed main() { ios::sync_with_stdio( false ); cin.tie( 0 ); cin >> A >> B >> C; vector<int> res; REP( i, 1000000000 ) { if( f( i ) == 0) { res.push_back( i ); break; } if( f( -i ) == 0) { res.push_back( -i ); break; } } h_int a = A + res[0]; h_int b = res[0] == 0 ? B : -C / res[0]; res.push_back( ( -a + sqrt( a * a - 4 * b ) ) / 2 ); res.push_back( ( -a - sqrt( a * a - 4 * b ) ) / 2 ); sort( ALL( res ) ); cout << res[0] << " " << res[1] << " " << res[2] << "\n"; return 0; }