結果
問題 |
No.115 遠足のおやつ
|
ユーザー |
![]() |
提出日時 | 2018-10-03 09:25:36 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,203 bytes |
コンパイル時間 | 1,026 ms |
コンパイル使用メモリ | 105,728 KB |
実行使用メモリ | 19,328 KB |
最終ジャッジ日時 | 2024-10-12 10:14:29 |
合計ジャッジ時間 | 3,452 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 39 WA * 1 |
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using System.Linq; using System; public class Hello { public static void Main() { string[] line = Console.ReadLine().Trim().Split(' '); var n = int.Parse(line[0]); var d = int.Parse(line[1]); var k = int.Parse(line[2]); var ksum = (k + 1) * k / 2; if (ksum > d) { Console.WriteLine(-1); goto end; } if (ksum == d) { Console.WriteLine(string.Join(" ", Enumerable.Range(1, k))); goto end; } var ksum2 = (2 * n + 1 - k) * k / 2; if (ksum2 < d) { Console.WriteLine(-1); goto end; } if (ksum2== d) { Console.WriteLine(string.Join(" ", Enumerable.Range(n -k + 1, k))); goto end; } getAns(n, d, k); end:; } public static void getAns (int n , int d , int k) { var a = Enumerable.Range(1, k).ToArray(); a[k - 1] = d - (k - 1) * k / 2; var b = Enumerable.Range(n -k + 1, k).ToArray(); var p = k - 1; while (true) { if (a[p] > b[p]) { a[p - 1] += a[p] - b[p]; a[p] = b[p]; } else break; p--; } Console.WriteLine(string.Join(" ",a)); } }