結果
問題 | No.72 そろばん Med |
ユーザー |
![]() |
提出日時 | 2018-06-27 22:08:37 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 139 ms / 5,000 ms |
コード長 | 853 bytes |
コンパイル時間 | 2,268 ms |
コンパイル使用メモリ | 75,936 KB |
実行使用メモリ | 41,856 KB |
最終ジャッジ日時 | 2024-11-21 12:12:53 |
合計ジャッジ時間 | 6,894 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 24 |
ソースコード
import java.math.BigDecimal; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); long N = scan.nextLong(); scan.close(); BigDecimal n = new BigDecimal(N); BigDecimal x1 = new BigDecimal(N / 2); BigDecimal x2 = new BigDecimal(N / 2 + 1); BigDecimal one = new BigDecimal(1); BigDecimal ans1 = x1.add(one).multiply(n.subtract(x1).add(one)).subtract(one); BigDecimal ans2 = x2.add(one).multiply(n.subtract(x2).add(one)).subtract(one); BigDecimal d = new BigDecimal(1000007); if(ans1.compareTo(ans2) == 1) { BigDecimal result = ans1.remainder(d); System.out.println(result); }else { BigDecimal result = ans2.remainder(d); System.out.println(result); } // BigDecimal k = n.multiply(n).add(one).multiply(n); // System.out.println(k); } }