| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1366152 | mariza | Ancient Books (IOI17_books) | C++20 | 3 ms | 8004 KiB |
#include "books.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N=1e6;
struct DSU{
ll p[N];
ll sz;
void init(ll n){
sz=n;
for(ll i=0; i<n; i++){
p[i]=i;
}
}
ll find(ll u){
if(p[u]==u) return u;
else return p[u]=find(p[u]);
}
void merge(ll u, ll v){
u=find(u);
v=find(v);
if(u==v) return;
sz--;
p[u]=v;
}
};
long long minimum_walk(vector<int> a, int s){
ll n=a.size();
DSU dsu;
dsu.init(n);
ll ans=0;
for(ll i=0; i<n; i++){
dsu.merge(i,a[i]);
ans+=abs(i-a[i]);
}
ans+=dsu.sz;
return ans;
}
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
