結果
問題 |
No.370 道路の掃除
|
ユーザー |
![]() |
提出日時 | 2018-10-25 19:56:17 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,032 bytes |
コンパイル時間 | 823 ms |
コンパイル使用メモリ | 110,072 KB |
実行使用メモリ | 28,388 KB |
最終ジャッジ日時 | 2024-11-19 05:45:40 |
合計ジャッジ時間 | 2,927 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
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] * 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; } }