Submission #733654

# Submission time Handle Problem Language Result Execution time Memory
733654 2023-05-01T07:14:00 Z Huseyn123 Cijanobakterije (COCI21_cijanobakterije) C++17
42 / 70
1000 ms 17872 KB
#include <bits/stdc++.h>
#define MAX 200001
#define INF LLONG_MAX
#define MOD 1000000007
#define mp make_pair
#define mt make_tuple
#define pb push_back
#define ins insert
#define ff first
#define ss second
#define gett(x,m) get<m>(x)
#define all(a) a.begin(),a.end()
#define lb(a,b) lower_bound(all(a),b)
#define ub(a,b) upper_bound(all(a),b)
#define sortv(a) sort(all(a))
#define sorta(a,sz) sort(a,a+sz)
#define inputar(a,b){\
    for(int i=0;i<b;i++){\
        cin >> a[i];\
    }\
}
#define inputvec(a,b){\
    for(int i=0;i<b;i++){\
        ll num;\
        cin >> num;\
        a.pb(num);\
    }\
}
#define outputar(a,b){\
    for(int i=0;i<b;i++){\
        cout << a[i] << " ";\
    }\
    cout << "\n";\
}
#define outputvec(a){\
    for(auto x:a){\
        cout << x << " ";\
    }\
    cout << "\n";\
}
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef tuple<ll,ll,ll> tll;
typedef pair<ll,ll> pll;
typedef double db;
typedef long double ldb;
inline void USACO(string filename){
  freopen((filename+".in").c_str(),"r",stdin);
  freopen((filename+".out").c_str(),"w",stdout);
}
ll n,q,t=1,m,n2,m2,k,cnt=0,x,y,z,x2,y2,z2,res1=0,a[MAX],b[MAX];
ll c[1501][1501];
ll fact[MAX];
ll inv_fact[MAX];
string str[MAX];
string s1,s2;
const int mod = 998244353;
ll dx[4]={1,0,0,-1};
ll dy[4]={0,1,-1,0};
struct custom_hash {
   static uint64_t splitmix64(uint64_t x) {
        x += 0x9e3779b97f4a7c15;
        x = (x ^ (x >> 30)) * 0xbf58476d1ce4e5b9;
        x = (x ^ (x >> 27)) * 0x94d049bb133111eb;
        return x ^ (x >> 31);
    }

    size_t operator()(uint64_t x) const {
        static const uint64_t FIXED_RANDOM = chrono::steady_clock::now().time_since_epoch().count();
        return splitmix64(x + FIXED_RANDOM);
    }
};
vector<ll> used;
vector<vector<ll>> g;
void dfs(ll v){
    used[v]=1;
    for(auto x:g[v]){
        if(used[x]){
            continue;
        }
        dfs(x);
    }
}
ll ans(ll rt){
    queue<ll> q;
    vector<ll> dist;
    dist.resize(n+1,-1);
    q.push(rt);
    dist[rt]=0;
    ll h,h1;
    h=rt;
    h1=0;
    while(!q.empty()){
        ll v=q.front();
        q.pop();
        for(auto x:g[v]){
            if(dist[x]!=-1){
                continue;
            }
            q.push(x);
            dist[x]=dist[v]+1;
            if(dist[x]>h1){
                h1=dist[x];
                h=x;
            }
        }
    }
    dist.clear();
    dist.resize(n+1,-1);
    q.push(h);
    dist[h]=0;
    h1=0;
    while(!q.empty()){
        ll v=q.front();
        q.pop();
        for(auto x:g[v]){
            if(dist[x]!=-1){
                continue;
            }
            q.push(x);
            dist[x]=dist[v]+1;
            if(dist[x]>h1){
                h1=dist[x];
                h=x;
            }
        }
    }
    return h1;
}
void solve(){
    cin >> n >> m;
    g.resize(n+1);
    used.resize(n+1,0);
    for(int i=0;i<m;i++){
        cin >> x >> y;
        g[x].pb(y);
        g[y].pb(x);
    }
    vector<ll> c;
    for(int i=1;i<=n;i++){
        if(!used[i]){
            dfs(i);
            c.pb(i);
        }
    }
    ll res=0;
    for(auto x:c){
        res+=ans(x)+1;
    }
    cout << res << "\n";
}
int main(){
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    //USACO("poetry");
    //freopen("input.txt","r",stdin);
    //cin >> t;
    ll cnt1=1;
    while(t--){
        solve();
        cnt1++;
    }
}
/*
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
ifstream fin("template.in");
ofstream fout("template.out");
*/
/*
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
ifstream fin("template.in");
ofstream fout("template.out");
*/
/*
ll b[51][51];
b[0][0] = 1;
    for (int n = 1; n <= 50; ++n){
        b[n][0] = b[n][n] = 1;
        for (int k = 1; k < n; ++k)
            b[n][k] = b[n - 1][k - 1] + b[n - 1][k];
    }
*/
# Verdict Execution time Memory Grader output
1 Correct 9 ms 8020 KB Output is correct
2 Correct 15 ms 9556 KB Output is correct
3 Correct 21 ms 11000 KB Output is correct
4 Correct 28 ms 12464 KB Output is correct
5 Correct 37 ms 14036 KB Output is correct
6 Correct 50 ms 15408 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 35 ms 17872 KB Output is correct
2 Correct 99 ms 7920 KB Output is correct
3 Correct 370 ms 9048 KB Output is correct
4 Correct 850 ms 10328 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 6592 KB Output is correct
2 Correct 4 ms 6484 KB Output is correct
3 Correct 3 ms 6484 KB Output is correct
4 Correct 3 ms 6588 KB Output is correct
5 Correct 36 ms 8052 KB Output is correct
6 Correct 118 ms 9516 KB Output is correct
7 Correct 265 ms 10984 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 6612 KB Output is correct
2 Correct 5 ms 6636 KB Output is correct
3 Correct 4 ms 6612 KB Output is correct
4 Correct 4 ms 6592 KB Output is correct
5 Correct 4 ms 6596 KB Output is correct
6 Correct 4 ms 6588 KB Output is correct
7 Correct 4 ms 6612 KB Output is correct
8 Correct 4 ms 6612 KB Output is correct
9 Correct 4 ms 6600 KB Output is correct
10 Correct 4 ms 6612 KB Output is correct
11 Correct 4 ms 6612 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 9 ms 8020 KB Output is correct
2 Correct 15 ms 9556 KB Output is correct
3 Correct 21 ms 11000 KB Output is correct
4 Correct 28 ms 12464 KB Output is correct
5 Correct 37 ms 14036 KB Output is correct
6 Correct 50 ms 15408 KB Output is correct
7 Correct 35 ms 17872 KB Output is correct
8 Correct 99 ms 7920 KB Output is correct
9 Correct 370 ms 9048 KB Output is correct
10 Correct 850 ms 10328 KB Output is correct
11 Correct 4 ms 6592 KB Output is correct
12 Correct 4 ms 6484 KB Output is correct
13 Correct 3 ms 6484 KB Output is correct
14 Correct 3 ms 6588 KB Output is correct
15 Correct 36 ms 8052 KB Output is correct
16 Correct 118 ms 9516 KB Output is correct
17 Correct 265 ms 10984 KB Output is correct
18 Correct 4 ms 6612 KB Output is correct
19 Correct 5 ms 6636 KB Output is correct
20 Correct 4 ms 6612 KB Output is correct
21 Correct 4 ms 6592 KB Output is correct
22 Correct 4 ms 6596 KB Output is correct
23 Correct 4 ms 6588 KB Output is correct
24 Correct 4 ms 6612 KB Output is correct
25 Correct 4 ms 6612 KB Output is correct
26 Correct 4 ms 6600 KB Output is correct
27 Correct 4 ms 6612 KB Output is correct
28 Correct 4 ms 6612 KB Output is correct
29 Correct 47 ms 15424 KB Output is correct
30 Execution timed out 1091 ms 12360 KB Time limit exceeded
31 Halted 0 ms 0 KB -