結果
| 問題 |
No.370 道路の掃除
|
| コンテスト | |
| ユーザー |
Bantako
|
| 提出日時 | 2017-07-26 01:20:59 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 2,000 ms |
| コード長 | 751 bytes |
| コンパイル時間 | 1,424 ms |
| コンパイル使用メモリ | 161,620 KB |
| 実行使用メモリ | 5,248 KB |
| 最終ジャッジ日時 | 2024-10-09 17:29:27 |
| 合計ジャッジ時間 | 2,371 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 34 |
コンパイルメッセージ
main.cpp:3:1: warning: ISO C++ forbids declaration of ‘main’ with no type [-Wreturn-type]
3 | main(){
| ^~~~
main.cpp: In function ‘int main()’:
main.cpp:5:10: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
5 | scanf("%d%d",&N,&M);
| ~~~~~^~~~~~~~~~~~~~
main.cpp:7:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
7 | scanf("%d",&D[i]);
| ~~~~~^~~~~~~~~~~~
ソースコード
#include<bits/stdc++.h>
using namespace std;
main(){
int N,M,D[1000];
scanf("%d%d",&N,&M);
for(int i = 0;i < M;i++){
scanf("%d",&D[i]);
}
sort(D,D+M);
int mini = 100000000;
int head = M-1,tail;
for(int i = 0;i < M;i++){
if(D[i]>=0){
head = i;
break;
}
}
if(head+N>M){
tail = M-1;
head = M-N;
}else{
tail = head+N-1;
}
while(head>=0){
int h = abs(D[head]),t = abs(D[tail]);
if(D[head]*D[tail] >= 0){
mini = min(mini,max(h,t));
}else{
mini = min(mini,min(h,t)*2+
max(h,t));
}
if(D[tail]<0)break;
head--;tail--;
}
printf("%d\n",mini);
}
Bantako