提出 #16706783
ソースコード 拡げる
#include<bits/stdc++.h>
#define ll long long
#define dbg(x) cout<<#x<<": "<<x<<endl;
#define N 300005
#define M 1000000007
#define pii pair<ll,ll>
#define fast ios_base::sync_with_stdio(0);cin.tie(0);
using namespace std;
int lazy[N*3];
int n;
int A[N];
int B[N];
int f[N],l[N];
int C[N];
void update(int node,int l,int r,int b,int e)
{
if(e<l||r<b)
return;
if(b<=l&&r<=e)
{
lazy[node]=1;
return;
}
update(node*2,l,(l+r)/2,b,e);
update(node*2+1,(l+r)/2+1,r,b,e);
return;
}
int query(int node,int l,int r,int p,int c=0)
{
if(p<l||r<p)
return 1;
c|=lazy[node];
if(l==r)
{
return c==0;
}
return query(node*2,l,(l+r)/2,p,c)*query(node*2+1,(l+r)/2+1,r,p,c);
}
main()
{
memset(f,-1,sizeof f);
cin>>n;
for(int i=0;i<n;i++)
{
cin>>A[i];
if(f[A[i]]==-1) f[A[i]]=i;
l[A[i]]=i;
}
for(int i=0;i<n;i++)
{
cin>>B[i];
if(f[B[i]]!=-1)
{
int g,h;
if(f[B[i]]>=i)
{
g=f[B[i]]-i;
}
else
{
g=n-i+f[B[i]];
}
if(l[B[i]]>=i)
{
h=l[B[i]]-i;
}
else
{
h=n-i+l[B[i]];
}
if(g<=h)
{
update(1,0,n-1,g,h);
}
else
{
update(1,0,n-1,g,n-1);
update(1,0,n-1,0,h);
}
// cout<<"G: "<<g<<' '<<h<<endl;
}
}
for(int i=0;i<n;i++)
{
if(query(1,0,n-1,i,0))
{
//cout<<i<<endl;
for(int j=0;j<n;j++)
{
C[(j+i)%n]=B[j];
}
cout<<"Yes\n";
for(int j=0;j<n;j++)
cout<<C[j]<<' ';
return 0;
}
}
cout<<"No";
}
提出情報
| 提出日時 |
|
| 問題 |
F - Contrast |
| ユーザ |
Iftekhar_Hakim |
| 言語 |
C++ (GCC 9.2.1) |
| 得点 |
600 |
| コード長 |
2054 Byte |
| 結果 |
AC |
| 実行時間 |
159 ms |
| メモリ |
9252 KiB |
コンパイルエラー
./Main.cpp:44:6: warning: ISO C++ forbids declaration of ‘main’ with no type [-Wreturn-type]
44 | main()
| ^
ジャッジ結果
| セット名 |
Sample |
All |
| 得点 / 配点 |
0 / 0 |
600 / 600 |
| 結果 |
AC
|
|
| セット名 |
テストケース |
| 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 |
9 ms |
4640 KiB |
| case04 |
AC |
3 ms |
4580 KiB |
| case05 |
AC |
4 ms |
4712 KiB |
| case06 |
AC |
6 ms |
4740 KiB |
| case07 |
AC |
5 ms |
4784 KiB |
| case08 |
AC |
8 ms |
4712 KiB |
| case09 |
AC |
3 ms |
4808 KiB |
| case10 |
AC |
3 ms |
4732 KiB |
| case11 |
AC |
3 ms |
4580 KiB |
| case12 |
AC |
67 ms |
7124 KiB |
| case13 |
AC |
77 ms |
6268 KiB |
| case14 |
AC |
117 ms |
9200 KiB |
| case15 |
AC |
120 ms |
9028 KiB |
| case16 |
AC |
88 ms |
7008 KiB |
| case17 |
AC |
112 ms |
8492 KiB |
| case18 |
AC |
110 ms |
7572 KiB |
| case19 |
AC |
113 ms |
7188 KiB |
| case20 |
AC |
113 ms |
7160 KiB |
| case21 |
AC |
119 ms |
7048 KiB |
| case22 |
AC |
114 ms |
8744 KiB |
| case23 |
AC |
112 ms |
8640 KiB |
| case24 |
AC |
113 ms |
8524 KiB |
| case25 |
AC |
112 ms |
8516 KiB |
| case26 |
AC |
113 ms |
9252 KiB |
| case27 |
AC |
116 ms |
9200 KiB |
| case28 |
AC |
112 ms |
8320 KiB |
| case29 |
AC |
112 ms |
8316 KiB |
| case30 |
AC |
111 ms |
8456 KiB |
| case31 |
AC |
110 ms |
8140 KiB |
| case32 |
AC |
109 ms |
8008 KiB |
| case33 |
AC |
109 ms |
7840 KiB |
| case34 |
AC |
109 ms |
7748 KiB |
| case35 |
AC |
131 ms |
7716 KiB |
| case36 |
AC |
156 ms |
9132 KiB |
| case37 |
AC |
159 ms |
9212 KiB |
| case38 |
AC |
159 ms |
9128 KiB |
| case39 |
AC |
112 ms |
8364 KiB |
| case40 |
AC |
113 ms |
8368 KiB |
| case41 |
AC |
115 ms |
8536 KiB |
| case42 |
AC |
114 ms |
8488 KiB |
| case43 |
AC |
114 ms |
8668 KiB |
| case44 |
AC |
112 ms |
8624 KiB |
| case45 |
AC |
114 ms |
8676 KiB |
| case46 |
AC |
84 ms |
6612 KiB |
| case47 |
AC |
15 ms |
4804 KiB |
| case48 |
AC |
74 ms |
6448 KiB |
| case49 |
AC |
118 ms |
7760 KiB |
| sample00 |
AC |
8 ms |
4712 KiB |
| sample01 |
AC |
4 ms |
4628 KiB |
| sample02 |
AC |
2 ms |
4752 KiB |