Submission #745884

#TimeUsernameProblemLanguageResultExecution timeMemory
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...