結果
問題 |
No.550 夏休みの思い出(1)
|
ユーザー |
![]() |
提出日時 | 2018-02-19 20:29:43 |
言語 | Java (openjdk 23) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,122 bytes |
コンパイル時間 | 4,322 ms |
コンパイル使用メモリ | 83,856 KB |
実行使用メモリ | 52,392 KB |
最終ジャッジ日時 | 2024-07-08 13:50:13 |
合計ジャッジ時間 | 11,192 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | -- * 3 |
other | TLE * 1 -- * 54 |
ソースコード
import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Scanner; public class No550 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); long a = sc.nextLong(); long b = sc.nextLong(); long c = sc.nextLong(); long absc = Math.abs(c); //cの絶対値 List<Long> yakusuu = new ArrayList<Long>(); //cの約数 List<Long> kai = new ArrayList<Long>(); for(long i = 1;i * i <= absc;i++) { if(absc % i == 0) { yakusuu.add(i); if(i != absc/i) { yakusuu.add(absc/i); } } } for(int i = 0;i < yakusuu.size();i++) { long alpha = yakusuu.get(i); if(alpha * alpha * alpha + a * alpha * alpha + b * alpha + c == 0) { kai.add(alpha); } alpha = -alpha; if(alpha * alpha * alpha + a * alpha * alpha + b * alpha + c == 0) { kai.add(alpha); } } if(c == 0) { kai.add(c); kai.add((-a + (long)Math.sqrt(a*a - 4*b))/2); kai.add((-a - (long)Math.sqrt(a*a - 4*b))/2); } Collections.sort(kai); for(long x:kai) { System.out.print(x + " "); } System.out.println(); } }