結果
問題 | No.2608 Divide into two |
ユーザー | bluemegane |
提出日時 | 2024-01-20 07:03:24 |
言語 | C# (.NET 8.0.203) |
結果 |
AC
|
実行時間 | 51 ms / 1,000 ms |
コード長 | 800 bytes |
コンパイル時間 | 9,049 ms |
コンパイル使用メモリ | 166,288 KB |
実行使用メモリ | 182,948 KB |
最終ジャッジ日時 | 2024-09-28 05:28:24 |
合計ジャッジ時間 | 8,466 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 51 ms
29,440 KB |
testcase_01 | AC | 51 ms
29,300 KB |
testcase_02 | AC | 51 ms
182,948 KB |
コンパイルメッセージ
復元対象のプロジェクトを決定しています... /home/judge/data/code/main.csproj を復元しました (102 ms)。 MSBuild のバージョン 17.9.6+a4ecab324 (.NET) main -> /home/judge/data/code/bin/Release/net8.0/main.dll main -> /home/judge/data/code/bin/Release/net8.0/publish/
ソースコード
using System; public class Hello { static void Main() { var T = int.Parse(Console.ReadLine().Trim()); while (T-- > 0) { var n = int.Parse(Console.ReadLine().Trim()); getAns(n); } } static void getAns(int n) { if (n <= 2) { Console.WriteLine(-1); return; } var ans = new int[n]; var s = 0; var sum = n * (n + 1) / 2; if (sum % 2 == 1) { Console.WriteLine(-1); return; } var wsum = sum / 2; for (int i = n; i >= 1; i--) { if (s + i > wsum) { ans[wsum - s - 1] = 1; break; } else if (s + i == wsum) { ans[i - 1] = 1; break; } else { s += i; ans[i - 1] = 1; } } Console.WriteLine(string.Join("", ans)); } }