提出 #16723085


ソースコード 拡げる

#include <bits/stdc++.h>
#define rep(i,a,b) for(ll i=a;i<b;i++)
#define rrep(i,b,a) for(ll i=b;i>=a;i--)
#define fori(a) for(auto i : a )
#define all(a) begin(a), end(a)
#define set(a,b) memset(a,b,sizeof(a))
#define sz(a) a.size()
#define pi 3.14159
#define ll long long
#define ull unsigned long long
#define pb push_back
#define PF push_front //deque
#define mp make_pair
#define pq priority_queue
#define mod 1000000007
#define f first
#define s second
#define pii pair< ll, ll >
#define vi vector<ll>
#define vpii vector<pii>
#define debug(v) for(auto i:v) cout<<i<<" ";
#define tc ll t; cin >> t; while(t--)

using namespace std;
string repeat(string s, ll n) {
    string s1 = "";
    for (ll i=0; i<n;i++)
        s1+=s;
    return s1;
}
string getString(char x) {
    string s(1, x);
    return s;
}

void optimizeIO(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
}
ll gcd(ll a, ll b){
    if (a == 0)  return b;
    return gcd(b % a, a);
}
void solve(){
  // ll n,l=0;
  // cin>>n;
  //
  // ll a[n],b[n];
  // vector<ll> c(n,-1);
  //
  // map<ll,ll> m1,m2,llersection;
  // rep(i,0,n){ cin>>a[i]; m1[a[i]]++;}
  // rep(i,0,n) {cin>>b[i]; m2[b[i]]++;}
  // for(auto i:m2) if(m1.find(i.f)!=m1.end()) llersection[i.f]=min(m2[i.f],m1[i.f]);
  //
  // ll pass=0;
  // for(auto i:llersection){
  //   ll fir=i.f,sec=i.s;
  //
  //   while(sec!=0){
  //     if(l==0) pass++;
  //     if(pass==20) break;
  //     if(a[l]==fir) l=(l+1)%n;
  //     else{
  //       c[l]=fir;
  //       l=(l+1)%n;
  //       sec--;
  //     }
  //   }
  //   if(pass==20) break;
  // }
  //
  // rep(i,0,n) if(c[i]!=-1) { m2[c[i]]--; if(m2[c[i]]==0) m2.erase(c[i]);}
  //
  // ll flag1=0;
  // rep(i,0,n){
  //   if(c[i]==-1){
  //     auto itr=m2.begin();
  //     c[i]=itr->first;
  //     m2[c[i]]--;
  //     if(m2[c[i]]==0) m2.erase(c[i]);
  //   }
  //   if(a[i]==c[i]) flag1=1;
  // }
  //
  // if(flag1==0){
  //   cout<<"Yes"<<endl;
  //   rep(i,0,n) cout<<c[i]<<" ";
  //   cout<<endl;
  // }
  // else cout<<"No"<<endl;

  int n;
  cin>>n;
  int a[n],b[n];
  vector<int> c(n,-1);
  rep(i,0,n)cin>>a[i];
  rep(i,0,n) cin>>b[i];
  sort(b,b+n,greater<int>());

  int l=-1,r=-1;
  rep(i,0,n){
    if(a[i]==b[i]){
      if(l==-1) l=i,r=i;
      else r=i;
    }
  }
  if(l!=-1 && r!=-1){
    int l1=0;
    int i=l;
    for(;i<=r && l1<n;){
      if(a[l1]!=b[i] && b[l1]!=b[i]){
        swap(b[l1],b[i]);
        i++;
      }
      l1++;
    }
    if(i<=r){
      cout<<"No\n";
      return;
    }
  }
  cout<<"Yes\n";
  rep(i,0,n) cout<<b[i]<<" ";
  cout<<endl;
}
int main(){
    optimizeIO();
    solve();
}

提出情報

提出日時
問題 F - Contrast
ユーザ vineetjai
言語 C++ (GCC 9.2.1)
得点 600
コード長 2765 Byte
結果 AC
実行時間 54 ms
メモリ 5528 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 600 / 600
結果 AC
AC × 50
セット名 テストケース
Sample
All case03, case04, case05, case06, case07, case08, case09, case10, case11, case12, case13, case14, case15, case16, case17, case18, case19, case20, case21, case22, case23, case24, case25, case26, case27, case28, case29, case30, case31, case32, case33, case34, case35, case36, case37, case38, case39, case40, case41, case42, case43, case44, case45, case46, case47, case48, case49, sample00, sample01, sample02
ケース名 結果 実行時間 メモリ
case03 AC 8 ms 3544 KiB
case04 AC 2 ms 3544 KiB
case05 AC 2 ms 3500 KiB
case06 AC 2 ms 3532 KiB
case07 AC 2 ms 3480 KiB
case08 AC 2 ms 3560 KiB
case09 AC 2 ms 3564 KiB
case10 AC 2 ms 3548 KiB
case11 AC 2 ms 3492 KiB
case12 AC 47 ms 5468 KiB
case13 AC 28 ms 5468 KiB
case14 AC 33 ms 5464 KiB
case15 AC 43 ms 5464 KiB
case16 AC 43 ms 5388 KiB
case17 AC 42 ms 5528 KiB
case18 AC 40 ms 5468 KiB
case19 AC 43 ms 5452 KiB
case20 AC 46 ms 5524 KiB
case21 AC 47 ms 5404 KiB
case22 AC 43 ms 5400 KiB
case23 AC 38 ms 5452 KiB
case24 AC 43 ms 5396 KiB
case25 AC 43 ms 5332 KiB
case26 AC 43 ms 5464 KiB
case27 AC 44 ms 5516 KiB
case28 AC 26 ms 5460 KiB
case29 AC 32 ms 5452 KiB
case30 AC 42 ms 5452 KiB
case31 AC 36 ms 5448 KiB
case32 AC 41 ms 5468 KiB
case33 AC 37 ms 5404 KiB
case34 AC 41 ms 5452 KiB
case35 AC 51 ms 5464 KiB
case36 AC 54 ms 5520 KiB
case37 AC 52 ms 5456 KiB
case38 AC 52 ms 5332 KiB
case39 AC 43 ms 5332 KiB
case40 AC 45 ms 5460 KiB
case41 AC 43 ms 5468 KiB
case42 AC 43 ms 5444 KiB
case43 AC 37 ms 5464 KiB
case44 AC 43 ms 5468 KiB
case45 AC 42 ms 5452 KiB
case46 AC 32 ms 4660 KiB
case47 AC 8 ms 3680 KiB
case48 AC 28 ms 4424 KiB
case49 AC 49 ms 5400 KiB
sample00 AC 6 ms 3412 KiB
sample01 AC 2 ms 3412 KiB
sample02 AC 2 ms 3544 KiB