結果
問題 |
No.370 道路の掃除
|
ユーザー |
![]() |
提出日時 | 2018-10-25 20:02:24 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,070 bytes |
コンパイル時間 | 808 ms |
コンパイル使用メモリ | 112,348 KB |
実行使用メモリ | 28,404 KB |
最終ジャッジ日時 | 2024-11-19 05:45:43 |
合計ジャッジ時間 | 2,754 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 11 WA * 23 |
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using static System.Math; using System; public class Hello { public static void Main() { string[] line = Console.ReadLine().Trim().Split(' '); var n = int.Parse(line[0]); var m = int.Parse(line[1]); var a = new int[m]; for (int i = 0; i < m; i++) a[i] = int.Parse(Console.ReadLine().Trim()); Array.Sort(a); var L = getAns(a, n); var ans = getAns2(a, L, n); Console.WriteLine(ans); } public static int getAns2 (int[] a, int L , int n) { var r = L + n - 1; var ans1 = a[r] - a[L]; if ((a[r] > 0 && a[L] >= 0) | (a[r] < 0 && a[L] < 0) ) return Max(Abs(a[L]), Abs(a[r])); else return ans1 + Min(Abs(a[L]), Abs(a[r])); } public static int getAns (int[] a , int n) { var m = a.Length; var minL = int.MaxValue; var mini = 0; for (int i = 0; i < m -n+1; i++) { var w = a[i + n - 1] - a[i]; if (w < minL) { minL = w; mini = i; } } return mini; } }