結果
| 問題 |
No.370 道路の掃除
|
| コンテスト | |
| ユーザー |
yun_app
|
| 提出日時 | 2016-05-17 10:23:28 |
| 言語 | Java (openjdk 23) |
| 結果 |
AC
|
| 実行時間 | 54 ms / 2,000 ms |
| コード長 | 1,205 bytes |
| コンパイル時間 | 2,270 ms |
| コンパイル使用メモリ | 79,616 KB |
| 実行使用メモリ | 36,944 KB |
| 最終ジャッジ日時 | 2024-10-14 16:54:50 |
| 合計ジャッジ時間 | 4,834 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 34 |
ソースコード
/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
// your code goes here
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] line = br.readLine().split(" ");
int N = Integer.parseInt(line[0]);
int M = Integer.parseInt(line[1]);
ArrayList<Integer> gomi = new ArrayList<Integer>();
for(int i=0;i<M;i++){
gomi.add(Integer.parseInt(br.readLine()));
}
Collections.sort(gomi);
int ans = Integer.MAX_VALUE;
for(int i=0;i<M-N+1;i++){
int sum = 0;
int start = gomi.get(i);
int goal = gomi.get(i+N-1);
if((start < 0 && goal > 0)
|| (start > 0 && goal < 0)){
sum += 2*Math.min(Math.abs(start),Math.abs(goal));
}
sum += Math.max(Math.abs(start),Math.abs(goal));
ans = Math.min(ans,sum);
}
System.out.println(ans);
}
}
yun_app