# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1071087 | kustizus | Bridges (APIO19_bridges) | C++17 | 2484 ms | 9208 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
// #pragma GCC optimize("Ofast")
// #pragma GCC optimize("unroll-loops")
#include <bits/stdc++.h>
// #define int long long
#define all(v) v.begin(),v.end()
using namespace std;
mt19937_64 rnd(chrono::high_resolution_clock::now().time_since_epoch().count());
const int N=1e5;
int n,m,q,u[N+5],v[N+5],d[N+5],ty[N+5],x[N+5],y[N+5],ans[N+5],tr[N+5];
bool ok,use[N+5];
void Update(int i, int j){
for (int k=i;k<=j;++k)
if (ty[k]==1) d[x[k]]=y[k];
}
struct DSU_rollback{
int ds[N+5];
vector <pair<int,int>> history;
void Reset(){
for (int i=1;i<=n;++i) ds[i]=-1;
history.clear();
}
int Get(int idx){
return ds[idx]<0 ? idx : Get(ds[idx]);
}
void Join(int u, int v){
u=Get(u);
v=Get(v);
if (u==v) return;
if (ds[u]>ds[v]) swap(u,v);
if (ok) history.push_back({v,ds[v]});
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |