提出 #45903621


ソースコード 拡げる

#include<bits/stdc++.h>
#define rep(i,a,b) for(int i=(a);i<=(b);i++)
#define per(i,a,b) for(int i=(a);i>=(b);i--)
#define op(x) ((x&1)?x+1:x-1)
#define odd(x) (x&1)
#define even(x) (!odd(x))
#define lc(x) (x<<1)
#define rc(x) (lc(x)|1)
#define lowbit(x) (x&-x)
#define mp(x,y) make_pair(x,y)
typedef long long ll;
typedef unsigned long long ull;
typedef double db;
using namespace std;
const int MAXN = 2e5+10,INF = 1e9;

int n,a[MAXN*2],L[MAXN],R[MAXN],arr[MAXN],p[MAXN],pre[MAXN];

int X[MAXN],Y[MAXN],rk[MAXN];

#define mid ((l+r)>>1)
struct Seg{ //单点删除,求所有Xi = premin X里Yi的最小值
	int mn[MAXN<<2],t[MAXN<<2];
	int calc(int x,int l,int r,int pre){
		if(l==r)return (pre > mn[x]) ? (Y[l]) : (INF); 
		
		if(pre > mn[lc(x)])return min(calc(lc(x),l,mid,pre),t[x]);
		else return calc(rc(x),mid+1,r,pre);
	}
	void pu(int x,int l,int r){
		mn[x] = min(mn[lc(x)],mn[rc(x)]);
		t[x] = calc(rc(x),mid+1,r,mn[lc(x)]);
	}
	void build(int x,int l,int r){
		if(l==r){
			mn[x] = X[l];
			return;
		}
		build(lc(x),l,mid);build(rc(x),mid+1,r);
		pu(x,l,r);
	}
	void mdf(int x,int l,int r,int pos){
		if(l==r)return (void)(mn[x] = INF);
		(pos<=mid)?(mdf(lc(x),l,mid,pos)) : (mdf(rc(x),mid+1,r,pos));
		pu(x,l,r);
	}
}seg;
#undef mid

int main(){
	ios::sync_with_stdio(false);

	cin>>n;
	rep(i,1,2*n)cin>>a[i],arr[i] = i;

	rep(i,1,2*n)R[a[i]] = i;
	per(i,2*n,1)L[a[i]] = i;

	sort(arr+1,arr+1+n,[&](int x,int y){return R[x] < R[y];});

	rep(i,1,n)X[i] = L[arr[i]],Y[i] = arr[i],rk[Y[i]] = i;

	seg.build(1,1,n);

	rep(i,1,n){
		int val = seg.calc(1,1,n,INF);
		assert(val != INF);

		p[i] = val;
		seg.mdf(1,1,n,rk[val]);
	}

	rep(i,1,n)cout<<p[i]<<" "<<p[i]<<" ";

    return 0;
}

提出情報

提出日時
問題 F - Make Adjacent
ユーザ Crying
言語 C++ 20 (gcc 12.2)
得点 800
コード長 1769 Byte
結果 AC
実行時間 201 ms
メモリ 13648 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 800 / 800
結果
AC × 3
AC × 48
セット名 テストケース
Sample 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt
All 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 01_rand_01.txt, 01_rand_02.txt, 01_rand_03.txt, 01_rand_04.txt, 01_rand_05.txt, 01_rand_06.txt, 01_rand_07.txt, 01_rand_08.txt, 01_rand_09.txt, 01_rand_10.txt, 01_rand_11.txt, 01_rand_12.txt, 01_rand_13.txt, 01_rand_14.txt, 01_rand_15.txt, 02_extreme_01.txt, 02_extreme_02.txt, 02_extreme_03.txt, 02_extreme_04.txt, 02_extreme_05.txt, 02_extreme_06.txt, 02_extreme_07.txt, 02_extreme_08.txt, 02_extreme_09.txt, 02_extreme_10.txt, 02_extreme_11.txt, 02_extreme_12.txt, 02_extreme_13.txt, 02_extreme_14.txt, 02_extreme_15.txt, 02_extreme_16.txt, 02_extreme_17.txt, 02_extreme_18.txt, 02_extreme_19.txt, 02_extreme_20.txt, 02_extreme_21.txt, 02_extreme_22.txt, 02_extreme_23.txt, 03_handmade_01.txt, 03_handmade_02.txt, 03_handmade_03.txt, 03_handmade_04.txt, 03_handmade_05.txt, 03_handmade_06.txt, 03_handmade_07.txt
ケース名 結果 実行時間 メモリ
00_sample_01.txt AC 1 ms 3424 KiB
00_sample_02.txt AC 1 ms 3456 KiB
00_sample_03.txt AC 1 ms 3492 KiB
01_rand_01.txt AC 173 ms 13528 KiB
01_rand_02.txt AC 171 ms 13564 KiB
01_rand_03.txt AC 172 ms 13576 KiB
01_rand_04.txt AC 172 ms 13580 KiB
01_rand_05.txt AC 175 ms 13572 KiB
01_rand_06.txt AC 170 ms 13572 KiB
01_rand_07.txt AC 173 ms 13632 KiB
01_rand_08.txt AC 174 ms 13564 KiB
01_rand_09.txt AC 171 ms 13540 KiB
01_rand_10.txt AC 170 ms 13584 KiB
01_rand_11.txt AC 175 ms 13544 KiB
01_rand_12.txt AC 169 ms 13580 KiB
01_rand_13.txt AC 174 ms 13508 KiB
01_rand_14.txt AC 175 ms 13528 KiB
01_rand_15.txt AC 174 ms 13524 KiB
02_extreme_01.txt AC 124 ms 13444 KiB
02_extreme_02.txt AC 98 ms 13580 KiB
02_extreme_03.txt AC 201 ms 13572 KiB
02_extreme_04.txt AC 126 ms 13540 KiB
02_extreme_05.txt AC 131 ms 13648 KiB
02_extreme_06.txt AC 168 ms 13584 KiB
02_extreme_07.txt AC 146 ms 13520 KiB
02_extreme_08.txt AC 159 ms 13572 KiB
02_extreme_09.txt AC 171 ms 13608 KiB
02_extreme_10.txt AC 124 ms 13592 KiB
02_extreme_11.txt AC 98 ms 13556 KiB
02_extreme_12.txt AC 199 ms 13444 KiB
02_extreme_13.txt AC 127 ms 13524 KiB
02_extreme_14.txt AC 131 ms 13568 KiB
02_extreme_15.txt AC 169 ms 13584 KiB
02_extreme_16.txt AC 146 ms 13524 KiB
02_extreme_17.txt AC 158 ms 13572 KiB
02_extreme_18.txt AC 174 ms 13504 KiB
02_extreme_19.txt AC 130 ms 13584 KiB
02_extreme_20.txt AC 130 ms 13528 KiB
02_extreme_21.txt AC 131 ms 13504 KiB
02_extreme_22.txt AC 130 ms 13580 KiB
02_extreme_23.txt AC 131 ms 13524 KiB
03_handmade_01.txt AC 1 ms 3500 KiB
03_handmade_02.txt AC 128 ms 13528 KiB
03_handmade_03.txt AC 127 ms 13580 KiB
03_handmade_04.txt AC 128 ms 13444 KiB
03_handmade_05.txt AC 127 ms 13504 KiB
03_handmade_06.txt AC 132 ms 13508 KiB
03_handmade_07.txt AC 94 ms 13580 KiB