結果
問題 | No.3016 ハチマキおじさん |
ユーザー |
![]() |
提出日時 | 2025-02-22 03:36:05 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 2,197 bytes |
コンパイル時間 | 2,810 ms |
コンパイル使用メモリ | 210,996 KB |
実行使用メモリ | 25,120 KB |
最終ジャッジ日時 | 2025-02-22 03:36:16 |
合計ジャッジ時間 | 9,899 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 2 WA * 29 |
ソースコード
#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> B(N-1);REP(i,N){ll a;cin >> a;Y[i] = {a,i};}REP(i,N-1){cin >> B[i];}sort(ALL(Y));sort(ALL(B));vector<ll> A(N),I(N);REP(i,N){A[i] = Y[i].first;I[i] = Y[i].second;}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++;}set<ll> Ans;REP(i,N){Ans.insert(i);}REP(i,N){if(m==S[i]){Ans.erase(Ans.find(I[i]));// Ans.insert(I[i]);}}if(m==1){cout << N-Ans.size() << endl;REP(s,N){if(Ans.find(s)==Ans.end()){cout << s+1 << " ";}}cout << endl;}else{cout << Ans.size() << endl;for(ll s:Ans){cout << s+1 << " ";}cout << endl;}return 0;}