답안 #217809

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
217809 2020-03-30T19:20:46 Z Vimmer 철인 이종 경기 (APIO18_duathlon) C++14
23 / 100
1000 ms 1048576 KB
#include <bits/stdc++.h>

#define F first
#define S second
#define sz(x) int(x.size())
#define pb push_back
#define N 100005
#define M ll(998244353)

using namespace std;

typedef long double ld;
typedef long long ll;
typedef short int si;


vector <int> g[N];

bool mk[N], mkr[N];

int ans, i, j, n, m;

ll anser, siz[N];

void calc(int v, int p)
{
    if (p != -1) {siz[p] -= siz[v]; siz[v] += siz[p];}

    for (auto it : g[v]) anser += (siz[v] - 1 - siz[it]) * siz[it];

    for (auto it : g[v]) {if (p == it) continue; calc(it, v);}

    if (p != -1) {siz[v] -= siz[p]; siz[p] += siz[v];}
}

void dfs(int v, int p)
{
    siz[v] = 0;

    for (auto it : g[v])
    {
        if (it == p) continue;

        dfs(it, v);

        siz[v] += siz[it];
    }

    siz[v]++;

    if (i == v) calc(v, -1);
}


bool dostig(int v, int to)
{
    if (mk[v]) return 0;

    if (v == to) return 1;

    mk[v] = 1;

    bool f = 0;

    for (auto it : g[v]) f |= dostig(it, to);

    mk[v] = 0;

    if (f && v != i && !mkr[v]) {mkr[v] = 1; ans++;}

    return f;
}
int main()
{
    ios_base::sync_with_stdio(0); istream::sync_with_stdio(0); cin.tie(0); cout.tie(0);

    cin >> n >> m;

    for (int i = 0; i < m; i++)
    {
        int x, y;

        cin >> x >> y;

        g[x].pb(y);

        g[y].pb(x);
    }

    if (m <= n - 1)
    {
        for (i = 1; i <= n; i++) if (siz[i] == 0) dfs(i, -1);

        cout << anser << endl;

        exit(0);
    }
    ans = 0;

    for (i = 1; i <= n; i++)
      for (j = 1; j <= n; j++)
        if (i != j){for (int u = 0; u < 51; u++) mkr[u] = 0; dostig(i, j);}

    cout << ans << endl;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 2688 KB Output is correct
2 Correct 6 ms 2688 KB Output is correct
3 Correct 6 ms 2688 KB Output is correct
4 Correct 6 ms 2688 KB Output is correct
5 Correct 6 ms 2688 KB Output is correct
6 Correct 6 ms 2688 KB Output is correct
7 Correct 6 ms 2688 KB Output is correct
8 Correct 8 ms 2816 KB Output is correct
9 Correct 26 ms 2688 KB Output is correct
10 Correct 490 ms 2740 KB Output is correct
11 Correct 6 ms 2688 KB Output is correct
12 Correct 6 ms 2688 KB Output is correct
13 Correct 6 ms 2688 KB Output is correct
14 Correct 6 ms 2688 KB Output is correct
15 Correct 7 ms 2688 KB Output is correct
16 Correct 6 ms 2688 KB Output is correct
17 Correct 6 ms 2688 KB Output is correct
18 Correct 6 ms 2688 KB Output is correct
19 Correct 6 ms 2688 KB Output is correct
20 Runtime error 543 ms 1048576 KB Execution killed with signal 9 (could be triggered by violating memory limits)
21 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 2688 KB Output is correct
2 Correct 6 ms 2688 KB Output is correct
3 Correct 6 ms 2688 KB Output is correct
4 Correct 6 ms 2688 KB Output is correct
5 Correct 6 ms 2688 KB Output is correct
6 Correct 6 ms 2688 KB Output is correct
7 Correct 6 ms 2688 KB Output is correct
8 Correct 8 ms 2816 KB Output is correct
9 Correct 26 ms 2688 KB Output is correct
10 Correct 490 ms 2740 KB Output is correct
11 Correct 6 ms 2688 KB Output is correct
12 Correct 6 ms 2688 KB Output is correct
13 Correct 6 ms 2688 KB Output is correct
14 Correct 6 ms 2688 KB Output is correct
15 Correct 7 ms 2688 KB Output is correct
16 Correct 6 ms 2688 KB Output is correct
17 Correct 6 ms 2688 KB Output is correct
18 Correct 6 ms 2688 KB Output is correct
19 Correct 6 ms 2688 KB Output is correct
20 Runtime error 543 ms 1048576 KB Execution killed with signal 9 (could be triggered by violating memory limits)
21 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1096 ms 12412 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 2688 KB Output is correct
2 Correct 6 ms 2688 KB Output is correct
3 Correct 6 ms 2688 KB Output is correct
4 Correct 6 ms 2816 KB Output is correct
5 Correct 6 ms 2816 KB Output is correct
6 Correct 6 ms 2816 KB Output is correct
7 Correct 7 ms 2816 KB Output is correct
8 Correct 6 ms 2816 KB Output is correct
9 Correct 6 ms 2816 KB Output is correct
10 Correct 6 ms 2816 KB Output is correct
11 Correct 6 ms 2816 KB Output is correct
12 Correct 7 ms 2688 KB Output is correct
13 Correct 6 ms 2688 KB Output is correct
14 Correct 6 ms 2688 KB Output is correct
15 Correct 6 ms 2688 KB Output is correct
16 Correct 6 ms 2688 KB Output is correct
17 Correct 6 ms 2688 KB Output is correct
18 Correct 6 ms 2688 KB Output is correct
19 Correct 6 ms 2688 KB Output is correct
20 Correct 6 ms 2688 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 58 ms 6776 KB Output is correct
2 Correct 56 ms 7928 KB Output is correct
3 Correct 56 ms 7928 KB Output is correct
4 Correct 58 ms 7936 KB Output is correct
5 Correct 72 ms 8056 KB Output is correct
6 Correct 76 ms 11256 KB Output is correct
7 Correct 68 ms 10104 KB Output is correct
8 Correct 68 ms 9592 KB Output is correct
9 Correct 64 ms 8952 KB Output is correct
10 Correct 56 ms 7928 KB Output is correct
11 Correct 63 ms 8104 KB Output is correct
12 Correct 57 ms 7928 KB Output is correct
13 Correct 57 ms 7928 KB Output is correct
14 Correct 50 ms 7800 KB Output is correct
15 Correct 44 ms 7416 KB Output is correct
16 Correct 30 ms 6520 KB Output is correct
17 Correct 40 ms 8304 KB Output is correct
18 Correct 40 ms 8308 KB Output is correct
19 Correct 42 ms 8180 KB Output is correct
20 Correct 41 ms 8312 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 2688 KB Output is correct
2 Correct 6 ms 2816 KB Output is correct
3 Execution timed out 1097 ms 2688 KB Time limit exceeded
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 56 ms 6904 KB Output is correct
2 Correct 62 ms 7852 KB Output is correct
3 Execution timed out 1090 ms 7544 KB Time limit exceeded
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 2688 KB Output is correct
2 Correct 6 ms 2688 KB Output is correct
3 Correct 6 ms 2688 KB Output is correct
4 Correct 6 ms 2688 KB Output is correct
5 Correct 6 ms 2688 KB Output is correct
6 Correct 6 ms 2688 KB Output is correct
7 Correct 6 ms 2688 KB Output is correct
8 Correct 8 ms 2816 KB Output is correct
9 Correct 26 ms 2688 KB Output is correct
10 Correct 490 ms 2740 KB Output is correct
11 Correct 6 ms 2688 KB Output is correct
12 Correct 6 ms 2688 KB Output is correct
13 Correct 6 ms 2688 KB Output is correct
14 Correct 6 ms 2688 KB Output is correct
15 Correct 7 ms 2688 KB Output is correct
16 Correct 6 ms 2688 KB Output is correct
17 Correct 6 ms 2688 KB Output is correct
18 Correct 6 ms 2688 KB Output is correct
19 Correct 6 ms 2688 KB Output is correct
20 Runtime error 543 ms 1048576 KB Execution killed with signal 9 (could be triggered by violating memory limits)
21 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 2688 KB Output is correct
2 Correct 6 ms 2688 KB Output is correct
3 Correct 6 ms 2688 KB Output is correct
4 Correct 6 ms 2688 KB Output is correct
5 Correct 6 ms 2688 KB Output is correct
6 Correct 6 ms 2688 KB Output is correct
7 Correct 6 ms 2688 KB Output is correct
8 Correct 8 ms 2816 KB Output is correct
9 Correct 26 ms 2688 KB Output is correct
10 Correct 490 ms 2740 KB Output is correct
11 Correct 6 ms 2688 KB Output is correct
12 Correct 6 ms 2688 KB Output is correct
13 Correct 6 ms 2688 KB Output is correct
14 Correct 6 ms 2688 KB Output is correct
15 Correct 7 ms 2688 KB Output is correct
16 Correct 6 ms 2688 KB Output is correct
17 Correct 6 ms 2688 KB Output is correct
18 Correct 6 ms 2688 KB Output is correct
19 Correct 6 ms 2688 KB Output is correct
20 Runtime error 543 ms 1048576 KB Execution killed with signal 9 (could be triggered by violating memory limits)
21 Halted 0 ms 0 KB -