Submission #1333592

#TimeUsernameProblemLanguageResultExecution timeMemory
1333592yc11Wind Turbines (EGOI25_windturbines)C++20
11 / 100
4091 ms3604 KiB
#include<bits/stdc++.h>
#define int long long
using namespace std;
vector<int> p;
int f(int x){
    if (x==p[x]) return x;
    return p[x] = f(p[x]);
    }
bool u1(int x, int y){
    if (f(x)==f(y)) return false;
    p[f(x)] = f(y);
    return true;

    }


signed main(){
    int n,m,k;
    cin>>n>>m>>k;
    vector<pair<int,pair<int,int> > > m1;

    for (int i = 0;i<m;i++){
        int a,b,c;
        cin>>a>>b>>c;
        m1.push_back(make_pair(c,make_pair(a,b)));
    }
    sort(m1.begin(),m1.end());
    for (int i = 0;i<k;i++){
        int l,r;
        cin>>l>>r;
        p.clear();
        p.resize(n);
        int ans = 0;
        for (int j = 0;j<n;j++){
            if (j>=l and j<=r) {p[j] = l;}
            else p[j] = j;
        }
        for (int j = 0;j<m;j++){
            if (u1(m1[j].second.first,m1[j].second.second)){
                ans = ans+m1[j].first;
            }
        }
        cout<<ans<<"\n";


    }

    return 0;
    }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...