# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1153909 | brover29 | Furniture (JOI20_furniture) | C++20 | 2 ms | 2628 KiB |
#include <bits/stdc++.h>
//qwerty47924692
using namespace std;
using ll = long long;
const ll N=1005;
const string br="617283";
#define sz(a)(ll)a.size()
#define f first
#define s second
ll n,m,a[N][N],mn[N][N],mx[N][N],sz[N][N];
pair<ll,ll>pr[N][N];
ll dx[4]={0,1,0,-1},dy[4]={1,0,-1,0};
pair<ll,ll> get(pair<ll,ll> a){
ll x,y;
x=a.f;
y=a.s;
return (pr[x][y]==make_pair(x,y) ? make_pair(x,y) : pr[x][y]=get(pr[x][y]));
}
void uni(pair<ll,ll>u,pair<ll,ll>v){
u=get(u);
v=get(v);
if(u==v)return;
if(sz[u.f][u.s]>sz[v.f][v.s])swap(v,u);
pr[u.f][u.s]=v;
sz[v.f][v.s]+=sz[u.f][u.s];
mx[v.f][v.s]=max(mx[v.f][v.s],mx[u.f][u.s]);
mn[v.f][v.s]=min(mn[v.f][v.s],mn[u.f][u.s]);
}
bool try_uni(ll x,ll y){
ll maxx=x;
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |