| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1360008 | adriines06 | Wind Turbines (EGOI25_windturbines) | C++20 | 4094 ms | 6248 KiB |
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
vector<pair<ll,ll>>gr;
vector<pair<ll,ll>>w;
vector<ll>p,sz;
ll Find(ll x){
if(p[x]==x) return x;
return p[x]=Find(p[x]);
}
void Union(ll x,ll y){
ll a=Find(x), b=Find(y);
if(a!=b){
if(sz[a]<sz[b]) swap(a,b);
p[b]=a;
sz[a]+=sz[b];
}
}
void solve(){
ll n,m,q; cin>>n>>m>>q;
vector<ll>pr(n,0);
gr.resize(m);
w.resize(m);
p.resize(n);
sz.assign(n,1);
for(ll i=0;i<m;i++){
ll u,v,c; cin>>u>>v>>c;
w[i]={c,i};
gr[i]={u,v};
pr[i+1]=pr[i]+c;
}
sort(w.begin(),w.end());
// cout<<pr[l]+(pr[n-1]-pr[r])<<"\n";
for(ll i=0;i<q;i++){
ll l,r; cin>>l>>r;
ll ans=0;
for(ll i=0;i<n;i++) p[i]=i;
for(ll j=l;j<r;j++){
Union(j,j+1);
}
for(ll i=0;i<m;i++){
ll idx=w[i].second;
ll a=gr[idx].first, b=gr[idx].second;
if(Find(a)!=Find(b)){
Union(a,b);
ans+=w[i].first;
}
}
cout<<ans<<"\n";
}
}
int main(){
ios::sync_with_stdio(0);
cout.tie(0);
cin.tie(0);
solve();
return 0;
}| # | 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... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
