제출 #746479

#제출 시각아이디문제언어결과실행 시간메모리
746479sword060Cijanobakterije (COCI21_cijanobakterije)C++17
70 / 70
70 ms10428 KiB
#include <bits/stdc++.h> using namespace std; const int N = 2e5+5; int x,k; vector<int>v[N]; int dist[N][2]; bool vis[N][2]; pair<int,int>dfs(int i,bool f){ queue<int>q; q.push(i); vis[i][f]=1; dist[i][f]=1; int mx=0,pos=i; while(q.size()){ int j=q.front();q.pop(); if(mx<dist[j][f]){ mx=dist[j][f]; pos=j; } for(auto c:v[j]){ if(vis[c][f])continue; vis[c][f]=1; dist[c][f]=dist[j][f]+1; q.push(c); } } return {pos,mx}; } int main(){ ios::sync_with_stdio(0);cin.tie(0); cin>>x>>k; for(int i=0;i<k;i++){ int l,r;cin>>l>>r; v[l].push_back(r); v[r].push_back(l); } int ans=0; for(int i=1;i<=x;i++){ if(vis[i][0])continue; int c=dfs(i,0).first; ans+=dfs(c,1).second; } cout<<ans; 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...