結果
問題 | No.198 キャンディー・ボックス2 |
ユーザー |
![]() |
提出日時 | 2017-01-14 03:22:15 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
AC
|
実行時間 | 26 ms / 1,000 ms |
コード長 | 2,147 bytes |
コンパイル時間 | 4,638 ms |
コンパイル使用メモリ | 109,956 KB |
実行使用メモリ | 19,328 KB |
最終ジャッジ日時 | 2024-11-16 10:08:42 |
合計ジャッジ時間 | 3,574 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 26 |
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using System; using System.Collections; using System.Collections.Generic; using System.Collections.Specialized; using System.Text; using System.Text.RegularExpressions; using System.Linq; using System.IO; class Program { static void Main(string[]args) { Magatro m = new Magatro(); m.Scan(); m.Solve(); } } public class Scanner { private StreamReader Sr; private string[] S; private int Index; private const char Separator=' '; public Scanner() { Index = 0; S = new string[0]; Sr = new StreamReader(Console.OpenStandardInput()); } private string[] Line() { return Sr.ReadLine().Split(Separator); } public string Next() { string result; if (Index >= S.Length) { S = Line(); Index = 0; } result = S[Index]; Index++; return result; } public int NextInt() { return int.Parse(Next()); } public double NextDouble() { return double.Parse(Next()); } public long NextLong() { return long.Parse(Next()); } public bool ScanToEnd(ref string s) { if (Sr.EndOfStream) { return false; } else { s = Sr.ReadLine(); return true; } } } public class Magatro { private long B, N; private long[] C; public void Scan() { Scanner sc = new Scanner(); B = sc.NextLong(); N = sc.NextInt(); C = new long[N]; for(int i = 0; i < N; i++) { C[i] = sc.NextLong(); } } public void Solve() { Array.Sort(C); long max = (C.Sum() + B) / N; long o; if (C.Length % 2 == 0) { o = (C[C.Length / 2] + C[C.Length / 2 - 1]) / 2; } else { o = (C[C.Length / 2]); } long ans = 0; for(int i = 0; i < N; i++) { ans += Math.Abs(Math.Min(max, o) - C[i]); } Console.WriteLine(ans); } }