結果
| 問題 | No.2248 max(C)-min(C) |
| コンテスト | |
| ユーザー |
srjywrdnprkt
|
| 提出日時 | 2023-05-04 23:29:26 |
| 言語 | C++17 (gcc 15.2.0 + boost 1.90.0) |
| 結果 |
AC
|
| 実行時間 | 211 ms / 3,000 ms |
| コード長 | 1,038 bytes |
| 記録 | |
| コンパイル時間 | 959 ms |
| コンパイル使用メモリ | 141,392 KB |
| 実行使用メモリ | 19,132 KB |
| 最終ジャッジ日時 | 2026-06-30 12:01:10 |
| 合計ジャッジ時間 | 11,357 ms |
|
ジャッジサーバーID (参考情報) |
judge1_0 / judge2_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 51 |
コンパイルメッセージ
In file included from /home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0_1/include/c++/15/bits/memory_resource.h:49,
from /home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0_1/include/c++/15/string:72,
from /home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0_1/include/c++/15/bits/locale_classes.h:42,
from /home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0_1/include/c++/15/bits/ios_base.h:43,
from /home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0_1/include/c++/15/ios:46,
from /home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0_1/include/c++/15/bits/ostream.h:43,
from /home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0_1/include/c++/15/ostream:42,
from /home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0_1/include/c++/15/iostream:43,
from main.cpp:1:
In constructor 'constexpr std::_Tuple_impl<_Idx, _Head>::_Tuple_impl(std::_Tuple_impl<_Idx, _Head>&&) [with long unsigned int _Idx = 2; _Head = int]',
inlined from 'constexpr std::_Tuple_impl<_Idx, _Head, _Tail ...>::_Tuple_impl(std::_Tuple_impl<_Idx, _Head, _Tail ...>&&) [with long unsigned int _Idx = 1; _Head = int; _Tail = {int}]' at /home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0_1/include/c++/15/tuple:324:7,
inlined from 'constexpr std::_Tuple_impl<_Idx, _Head, _Tail ...>::_Tuple_impl(std::_Tuple_impl<_Idx, _Head, _Tail ...>&&) [with long unsigned int _Idx = 0; _Head = int; _Tail = {int, int}]' at /home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0_1/include/c++/15/tuple:324:7,
inlined from 'constexpr std::tuple< <template-parameter-1-1> >::tuple(std::tuple< <template-parameter-1-1> >&&) [with _Elements = {int, int, int}]' at /home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0_1/include/c++/15/tuple:1504:17,
inlined from 'void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = std::tuple<int, int, int>; _Args = {std::tuple<int, int, int>}; _Tp = std::tuple<int, int, int>]' at /home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0
ソースコード
#include <iostream>
#include <vector>
#include <cmath>
#include <map>
#include <set>
#include <iomanip>
#include <queue>
#include <algorithm>
#include <numeric>
#include <deque>
#include <complex>
#include <cassert>
using namespace std;
using ll = long long;
template<typename T> using pq = priority_queue<T, vector<T>, greater<T>>;
int main(){
int N, mx=0, c, ans=1e9, u, v;
cin >> N;
vector<int> A(N), B(N);
vector<vector<int>> C(N, vector<int>(3));
pq<tuple<int, int, int>> que;
for (int i=0; i<N; i++) cin >> A[i];
for (int i=0; i<N; i++) cin >> B[i];
for (int i=0; i<N; i++){
if (A[i] > B[i]) swap(A[i], B[i]);
C[i][0] = A[i]; C[i][1] = (A[i]+B[i])/2; C[i][2] = B[i];
que.push({A[i], i, u});
mx = max(mx, A[i]);
}
while(1){
tie(c, u, v) = que.top();
que.pop();
ans = min(ans, mx-c);
if (v == 2) break;
mx = max(mx, C[u][v+1]);
que.push({C[u][v+1], u, v+1});
}
cout << ans << endl;
return 0;
}
srjywrdnprkt