結果
問題 | No.3016 ハチマキおじさん |
ユーザー |
![]() |
提出日時 | 2025-02-22 03:45:24 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 246 ms / 2,000 ms |
コード長 | 1,964 bytes |
コンパイル時間 | 2,183 ms |
コンパイル使用メモリ | 206,376 KB |
実行使用メモリ | 22,656 KB |
最終ジャッジ日時 | 2025-02-22 03:45:34 |
合計ジャッジ時間 | 7,789 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 31 |
ソースコード
#include <bits/stdc++.h>using namespace std;typedef long long ll;typedef long double ld;typedef pair<ll,ll> PP;// #define MOD 1000000007#define MOD 998244353#define INF 2305843009213693951#define PI 3.141592653589#define setdouble setprecision#define REP(i,n) for(ll i=0;i<(n);++i)#define OREP(i,n) for(ll i=1;i<=(n);++i)#define RREP(i,n) for(ll i=(n)-1;i>=0;--i)#define ORREP(i,n) for(ll i=(n);i>=1;--i)#define rep(i,a,b) for(ll i=(a);i<=(b);++i)#define ALL(v) (v).begin(), (v).end()#define chmin(k,m) k = min(k,m)#define chmax(k,m) k = max(k,m)#define GOODBYE do { cout << "-1" << endl; return 0; } while (false)#define MM <<" "<<#define Endl endlint main(void){//cin.tie(nullptr);//ios::sync_with_stdio(false);ll N;cin >> N;// vector<pair<ll,ll>> Y(N);vector<ll> A(N),B(N-1);REP(i,N){ll a;cin >> a;A[i] = a;}REP(i,N-1){cin >> B[i];}sort(ALL(A));sort(ALL(B));vector<ll> L(N-1),R(N-1);REP(i,N-1){L[i] = abs(A[i]-B[i]);}REP(i,N-1){R[i] = abs(A[i+1]-B[i]);}REP(i,N-2){L[i+1] += L[i];}RREP(i,N-2){R[i] += R[i+1];}// REP(i,N-1){cout << L[i] << " ";}cout << endl;// REP(i,N-1){cout << R[i] << " ";}cout << endl;vector<ll> S(N);S[0] = R[0];S[N-1] = L[N-2];REP(i,N-2){S[i+1] = L[i]+R[i+1];}ll m = INF;REP(i,N){m = min(m,S[i]);}// cout << m << endl;// REP(i,N){cout << S[i] << " ";}cout << endl;ll count = 0;REP(i,N){if(m==S[i])count++;}multiset<ll> Ans;// REP(i,N){Ans.insert(A[i]);}REP(i,N){if(m==S[i]){// Ans.erase(Ans.find(A[i]));Ans.insert(A[i]);}}set<ll> ans;for(ll a:Ans){ans.insert(a);}cout << ans.size() << endl;for(ll s:ans){cout << s << " ";}cout << endl;return 0;}