제출 #745884

#제출 시각아이디문제언어결과실행 시간메모리
745884Ahmed57Cijanobakterije (COCI21_cijanobakterije)C++17
70 / 70
78 ms8908 KiB
#pragma GCC optimize("Ofast")
#include <bits/stdc++.h>

using namespace std;
vector<int> adj[100001];
int ma = 0 , dep = 0;
int vis[100001];
void dfs(int i,int dp){
    vis[i] = 1;
    if(dp>dep){
        dep = dp;
        ma = i;
    }
    for(auto j:adj[i]){
        if(vis[j])continue;
        dfs(j,dp+1);
    }
}
int main(){
    int n,m;
    cin>>n>>m;
    for(int i = 0;i<m;i++){
        int a,b;cin>>a>>b;
        adj[a].push_back(b);
        adj[b].push_back(a);
    }
    vector<pair<int,int>> v(n+1);
    for(int i = 1;i<=n;i++){
        if(!vis[i]){
            dep= 0 ,ma =0;
            dfs(i,1);
            v[i].first = dep, v[i].second = ma;
        }
    }
    memset(vis,0,sizeof vis);
    long long all = 0;
    for(int i = 1;i<=n;i++){
        if(!vis[i]){
            dep= 0 ,ma =0;
            dfs(v[i].second,1);
            all+=dep;
        }
    }
    cout<<all<<endl;
    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...