# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1154136 | brover29 | Furniture (JOI20_furniture) | C++20 | 246 ms | 4164 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],mnr[N][N],mxr[N][N],mxc[N][N],mnc[N][N],sz[N][N],dp[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];
mxc[v.f][v.s]=max(mxc[v.f][v.s],mxc[u.f][u.s]);
mnc[v.f][v.s]=min(mnc[v.f][v.s],mnc[u.f][u.s]);
mxr[v.f][v.s]=max(mxr[v.f][v.s],mxr[u.f][u.s]);
mnr[v.f][v.s]=min(mnr[v.f][v.s],mnr[u.f][u.s]);
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |