Submission #996535


Source Code Expand

#include <iostream>
#include <vector>
#include <map>
#include <cstdio>
#include <cstring>
#include <math.h>
#include <bitset>
#include <time.h>
#include <set>
#include <algorithm>
#define MAXN 4444
#define ll long long
using namespace std;

int parent[MAXN+2];
int rankk[MAXN+2];


int Find(int x) {
    if (parent[x] != x) {
        parent[x]=Find(parent[x]);
    }
    return parent[x];
}
bool Union(int x,int y) {
    int xRoot=Find(x);
    int yRoot=Find(y);
    if (xRoot==yRoot)
        return false;
    
    
    if (rankk[xRoot]<rankk[yRoot]) {
        parent[xRoot]=yRoot;
    } else if (rankk[xRoot]>rankk[yRoot]) {
        parent[yRoot]=xRoot;
    } else {
        parent[yRoot]=xRoot;
        rankk[xRoot]++;
    }
    return true;
}



int main() {
    int N,M;
    cin>>N>>M;
    vector<pair<int,pair<int,int> > > edges;
    for(int i=1;i<=M;i++) {
        int u,v,w;
        cin>>u>>v>>w;
        edges.push_back(make_pair(w,make_pair(u,v)));
    }
    
    sort(edges.begin(),edges.end());
    
    
    
    int Q;
    cin>>Q;
    
    for(int q=1;q<=Q;q++) {
        for(int i=1;i<=N;i++) {
            parent[i]=i;
            rankk[i]=0;
        }
        int s,t;
        cin>>s>>t;
        Union(s,t);
        ll answer = 0;
        
        for(int i=0;i<edges.size();i++) {
            int u=edges[i].second.first;
            int v=edges[i].second.second;
            
            if (Union(u,v)) {
                answer+=edges[i].first;
            }
        }
        cout << answer << endl;
    }
    
    
    
    
}

Submission Info

Submission Time
Task A - Graph
User balakrishnan_v
Language C++14 (GCC 5.4.1)
Score 200
Code Size 1633 Byte
Status TLE
Exec Time 3154 ms
Memory 6512 KB

Judge Result

Set Name Sample subtask1 subtask2 All
Score / Max Score 0 / 0 200 / 200 0 / 300 0 / 200
Status
AC × 2
AC × 12
AC × 16
TLE × 5
AC × 16
TLE × 13
Set Name Test Cases
Sample sample_1.txt, sample_2.txt
subtask1 sample_2.txt, subtask_1_1.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_2.txt, subtask_1_3.txt, subtask_1_4.txt, subtask_1_5.txt, subtask_1_6.txt, subtask_1_7.txt, subtask_1_8.txt, subtask_1_9.txt
subtask2 sample_1.txt, sample_2.txt, subtask_1_1.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_2.txt, subtask_1_3.txt, subtask_1_4.txt, subtask_1_5.txt, subtask_1_6.txt, subtask_1_7.txt, subtask_1_8.txt, subtask_1_9.txt, subtask_2_1.txt, subtask_2_2.txt, subtask_2_3.txt, subtask_2_4.txt, subtask_2_5.txt, subtask_2_6.txt, subtask_2_7.txt, subtask_2_8.txt
All sample_1.txt, sample_2.txt, subtask_1_1.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_2.txt, subtask_1_3.txt, subtask_1_4.txt, subtask_1_5.txt, subtask_1_6.txt, subtask_1_7.txt, subtask_1_8.txt, subtask_1_9.txt, subtask_2_1.txt, subtask_2_2.txt, subtask_2_3.txt, subtask_2_4.txt, subtask_2_5.txt, subtask_2_6.txt, subtask_2_7.txt, subtask_2_8.txt, subtask_3_1.txt, subtask_3_2.txt, subtask_3_3.txt, subtask_3_4.txt, subtask_3_5.txt, subtask_3_6.txt, subtask_3_7.txt, subtask_3_8.txt
Case Name Status Exec Time Memory
sample_1.txt AC 2 ms 256 KB
sample_2.txt AC 2 ms 256 KB
subtask_1_1.txt AC 3 ms 256 KB
subtask_1_10.txt AC 195 ms 3444 KB
subtask_1_11.txt AC 2 ms 256 KB
subtask_1_2.txt AC 41 ms 1148 KB
subtask_1_3.txt AC 389 ms 6512 KB
subtask_1_4.txt AC 6 ms 384 KB
subtask_1_5.txt AC 7 ms 384 KB
subtask_1_6.txt AC 99 ms 1912 KB
subtask_1_7.txt AC 390 ms 6512 KB
subtask_1_8.txt AC 6 ms 384 KB
subtask_1_9.txt AC 12 ms 576 KB
subtask_2_1.txt TLE 3154 ms 6512 KB
subtask_2_2.txt TLE 3154 ms 6512 KB
subtask_2_3.txt TLE 3154 ms 6512 KB
subtask_2_4.txt TLE 3154 ms 6512 KB
subtask_2_5.txt AC 196 ms 384 KB
subtask_2_6.txt AC 726 ms 704 KB
subtask_2_7.txt AC 2839 ms 1912 KB
subtask_2_8.txt TLE 3154 ms 6512 KB
subtask_3_1.txt TLE 3154 ms 6512 KB
subtask_3_2.txt TLE 3154 ms 6512 KB
subtask_3_3.txt TLE 3154 ms 1024 KB
subtask_3_4.txt TLE 3154 ms 832 KB
subtask_3_5.txt TLE 3154 ms 3444 KB
subtask_3_6.txt TLE 3154 ms 6512 KB
subtask_3_7.txt TLE 3154 ms 6512 KB
subtask_3_8.txt TLE 3154 ms 6512 KB