Educational Codeforces Round 78 D問題
Problem description
省略
省略
C++に変換後のコードはこちら
//no-unlocked
int N, L[5d5], R[5d5], ev[1d6];
int sz, arr[5d5];
{
int i, j, k;
unionFind uf;
rd(N,(L--,R--)(N));
rep(i,N) ev[L[i]] = i+1;
rep(i,N) ev[R[i]] = -(i+1);
uf.malloc(N);
uf.init(N);
rep(i,2N){
j = ev[i];
if(ev[i] > 0){
j = ev[i] - 1;
arr[sz++] = j;
} else {
j = -ev[i] - 1;
for(k=sz-1;;k--){
if(arr[k]==j) break;
if(uf(arr[k],j)==0) wt("NO"), return 0;
}
arrErase(k,sz,arr);
}
}
wt(if[uf.size(0)==N, "YES", "NO"]);
}
Current time: 2024年04月19日16時50分05秒
Last modified: 2019年12月22日19時51分30秒 (by laycrs)
Tags: Competitive_Programming_Incomplete Codeforces
トップページに戻る
Logged in as: unknown user (not login)