結果
| 問題 |
No.689 E869120 and Constructing Array 3
|
| コンテスト | |
| ユーザー |
tenten
|
| 提出日時 | 2021-03-10 10:19:26 |
| 言語 | Java (openjdk 23) |
| 結果 |
AC
|
| 実行時間 | 54 ms / 1,000 ms |
| コード長 | 1,653 bytes |
| コンパイル時間 | 2,273 ms |
| コンパイル使用メモリ | 77,496 KB |
| 実行使用メモリ | 36,740 KB |
| 最終ジャッジ日時 | 2024-10-12 01:39:24 |
| 合計ジャッジ時間 | 4,402 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 13 |
ソースコード
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int k = Integer.parseInt(br.readLine());
if (k == 0) {
System.out.println(1);
System.out.println(1);
return;
}
for (int i = 1; i * i <= k; i++) {
for (int j = i; i * j <= k && i + j <= 250; j++) {
int x = k - i * j;
if (x == 0) {
output(i, j, 0, 0);
return;
}
for (int a = 1; a * a <= x; a++) {
if (x % a == 0) {
int b = x / a;
if (i + j + a + b <= 250) {
output(i, j, a, b);
return;
}
}
}
}
}
}
static void output(int a, int b, int c, int d) {
int n = a + b + c + d;
StringBuilder sb = new StringBuilder();
sb.append(n).append("\n");
for (int i = 0; i < a; i++) {
if (i > 0) {
sb.append(" ");
}
sb.append(4);
}
for (int i = 0; i < b; i++) {
sb.append(" ");
sb.append(9);
}
for (int i = 0; i < c; i++) {
sb.append(" ");
sb.append(6);
}
for (int i = 0; i < d; i++) {
sb.append(" ");
sb.append(11);
}
System.out.println(sb);
}
}
tenten