Submission #1293946

#TimeUsernameProblemLanguageResultExecution timeMemory
1293946aren_danceObstacles for a Llama (IOI25_obstacles)C++17
0 / 100
51 ms5524 KiB
#include <bits/stdc++.h>
using namespace std;
const int N=6e5+1;
int mast[N];
int mash[N];
int n,m;
int pref_maxv[N];
int pref_min[N];
int am[N];
int p[N];
int sz[N];
bool vis[N];
void init(){
    for(int i=1;i<=n;++i){
        p[i]=i;
    }
}
int par(int v){
    if(p[v]==v){
        return v;
    }
    p[v]=par(p[v]);
    return p[v];
}
void merge(int u,int v){
   if(sz[v]>sz[u]){
    swap(u,v);
   }
   sz[u]+=sz[v];
   p[v]=u;
}
void dsu(int u,int v){
    u=par(u);
    v=par(v);
    if(u!=v){
        merge(u,v);
    }
}
void initialize(vector<int> t, vector<int> h) {
    n=t.size();
    m=h.size();
    init();
    for(int i=0;i<m;++i){
        if(h[i]<t[n-1]){
            vis[i+1]=1;
            if(vis[i]==1 && i!=0){
                dsu(i+1,i);
            }
        }
    }
} 
bool can_reach(int l, int r, int s, int d) {
    if(par(s+1)==par(d+1)){
        return 1;
    }
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...