Submission #1128827

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
11288272024-12-22 10:03:27Rainmaker2627Port Facility (JOI17_port_facility)C++20
100 / 100
298 ms95244 KiB
#include<bits/stdc++.h>
using namespace std;
#define int long long
struct dsu {
int n, cc;
vector<int> r, s, d;
dsu(int n) {
this->n=n; cc=n;
r.reserve(n+1);
for (int i = 1; i <= n; ++i) r[i]=i;
s.assign(n+1, 1);
d.assign(n+1, 0);
}
int find(int a) {
if (a==r[a]) return a;
int p=find(r[a]);
d[a]^=d[r[a]];
return r[a]=p;
}
bool unite(int a, int b) {
int ra=find(a), rb=find(b);
if (ra==rb) return d[a]^d[b]==1;
if (s[ra]<s[rb]) swap(ra, rb);
d[rb]=1^d[a]^d[b];
r[rb]=ra; s[ra]+=s[rb]; cc--;
return true;
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...