結果
問題 |
No.370 道路の掃除
|
ユーザー |
![]() |
提出日時 | 2023-11-21 11:04:25 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 21 ms / 2,000 ms |
コード長 | 694 bytes |
コンパイル時間 | 993 ms |
コンパイル使用メモリ | 108,720 KB |
最終ジャッジ日時 | 2025-02-17 22:42:25 |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 34 |
ソースコード
#include<iostream> #include<string> #include<algorithm> #include<cctype> #include<set> #include<bitset> #include<math.h> #include<map> #include<queue> #include<iomanip> using namespace std; using ll = long long; int main() { int n, m, min1 = 100000; cin >> n >> m; vector<int> v(m); for (int i = 0; i < m; i++) cin >> v[i]; sort(v.begin(), v.end()); for (int i = 0; i < m-n+1; i++){ int temp = 0; if ((v[i] >= 0) || v[i+n-1] <= 0) temp = max(abs(v[i+n-1]), abs(v[i])); else if ((v[i+n-1] > 0 && v[i] < 0)) temp = max(abs(v[i+n-1]), abs(v[i])) + min(abs(v[i+n-1]), abs(v[i]))*2; min1 = min(min1, temp); } cout << min1 << endl; }