結果
問題 | No.3016 ハチマキおじさん |
ユーザー |
![]() |
提出日時 | 2025-01-25 13:29:41 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 199 ms / 2,000 ms |
コード長 | 1,333 bytes |
コンパイル時間 | 8,766 ms |
コンパイル使用メモリ | 478,700 KB |
実行使用メモリ | 17,408 KB |
最終ジャッジ日時 | 2025-01-25 22:48:46 |
合計ジャッジ時間 | 14,422 ms |
ジャッジサーバーID (参考情報) |
judge8 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 31 |
ソースコード
#include <bits/stdc++.h>#include <atcoder/all>#include <boost/multiprecision/cpp_dec_float.hpp>#include <boost/multiprecision/cpp_int.hpp>namespace mp = boost::multiprecision;using Bint = mp::cpp_int;using namespace std;using namespace atcoder;#define rep(i, n) for(int i=0;i<(n);++i)#define rep1(i, n) for(int i=1;i<=(n);i++)#define ll long longusing mint = modint998244353;using P = pair<ll,ll>;using lb = long double;using T = tuple<ll, ll, ll>;#ifdef LOCAL# include <debug_print.hpp># define dbg(...) debug_print::multi_print(#__VA_ARGS__, __VA_ARGS__)#else# define dbg(...) (static_cast<void>(0))#endifint main(){int n;cin >> n;vector<int> a(n);vector<int> b(n-1);rep(i,n) cin >> a[i];rep(i,n-1) cin >> b[i];ll now = 0;sort(a.begin(),a.end());sort(b.begin(),b.end());rep(i,n-1) now += abs(a[i]-b[i]);map<ll, vector<int>> mp;mp[now].push_back(a[n-1]);for(int i=n-2;i>=0;i--){now -= abs(b[i]-a[i]);now += abs(b[i]-a[i+1]);mp[now].push_back(a[i]);}dbg(mp);auto vs = (*mp.begin()).second;sort(vs.begin(),vs.end());vs.erase(unique(vs.begin(),vs.end()),vs.end());cout << vs.size() << endl;rep(i,vs.size()) {cout << vs[i] << (i+1==vs.size()?"\n":" ");}return 0;}