답안 #771858

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
771858 2023-07-03T10:36:38 Z CyberCow 철인 이종 경기 (APIO18_duathlon) C++17
0 / 100
1000 ms 1048576 KB
//#include <bits/stdc++.h>
#include <random>
#include <algorithm>
#include <bitset>
#include <chrono>
#include <cmath>
#include <deque>
#include <fstream>
#include <iomanip>
#include <iostream>
#include <iterator>
#include <map>
#include <queue>
#include <set>
#include <stack>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <vector>
#include <chrono>
#define fr first
#define sc second
#define ad push_back
using namespace std;
using ll = long long;
mt19937 rnd(348502);
const int N = 300005;
vector<ll> v[N];
ll sz[N];
ll color[N];
ll guyn = 0;
ll chap;

void Dfs(ll g)
{
    sz[g] = guyn;
    color[g] = 1;
    for (auto to : v[g])
    {
        if (color[to] == 0)
        {
            Dfs(to);
            sz[g] += sz[to];
        }
    }
}

ll koxqan = 0;

void Dfs1(ll g, ll guyn, int p)
{
    koxqan += sz[g] * (chap - sz[g]);
    for (auto to : v[g])
    {
        if (color[to] == guyn && to != p)
        {
            Dfs1(to, guyn, g);
        }
    }
}

void solve()
{
    ll n, i, j, x, y, m;
    cin >> n >> m;
    vector<pair<ll, ll>> kox;
    for ( i = 0; i < m; i++)
    {
        cin >> x >> y;
        kox.push_back({ x, y });
        v[x].push_back(y);
        v[y].push_back(x);
    }
    ll ans = 0;
    for ( i = 1; i <= n; i++)
    {
        if (color[i] == 0)
        {
            guyn++;
            Dfs(i);
            chap = sz[i];
            Dfs1(i, guyn, -1);
            ans += koxqan - (chap * (chap - 1) / 2);
        }
    }
    cout << ans * 2;
}


int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    ll tt = 1;
    //cin >> tt;
    while (tt--) {
        solve();
    }
    return 0;
}

Compilation message

count_triplets.cpp: In function 'void solve()':
count_triplets.cpp:64:14: warning: unused variable 'j' [-Wunused-variable]
   64 |     ll n, i, j, x, y, m;
      |              ^
# 결과 실행 시간 메모리 Grader output
1 Runtime error 489 ms 1048576 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 489 ms 1048576 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1113 ms 1047284 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 7380 KB Output is correct
2 Correct 3 ms 7380 KB Output is correct
3 Correct 4 ms 7380 KB Output is correct
4 Correct 4 ms 7380 KB Output is correct
5 Correct 5 ms 7380 KB Output is correct
6 Correct 4 ms 7436 KB Output is correct
7 Correct 4 ms 7380 KB Output is correct
8 Correct 4 ms 7384 KB Output is correct
9 Correct 3 ms 7380 KB Output is correct
10 Incorrect 4 ms 7380 KB Output isn't correct
11 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 38 ms 14240 KB Output is correct
2 Correct 36 ms 14156 KB Output is correct
3 Correct 36 ms 14232 KB Output is correct
4 Correct 41 ms 14200 KB Output is correct
5 Correct 48 ms 14180 KB Output is correct
6 Correct 45 ms 16992 KB Output is correct
7 Correct 43 ms 16440 KB Output is correct
8 Correct 45 ms 15840 KB Output is correct
9 Correct 64 ms 15200 KB Output is correct
10 Incorrect 35 ms 14140 KB Output isn't correct
11 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 7380 KB Output is correct
2 Correct 3 ms 7380 KB Output is correct
3 Runtime error 477 ms 1048576 KB Execution killed with signal 9
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 48 ms 14124 KB Output is correct
2 Correct 48 ms 14188 KB Output is correct
3 Runtime error 542 ms 1048576 KB Execution killed with signal 9
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 489 ms 1048576 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 489 ms 1048576 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -