Submission #92515

#TimeUsernameProblemLanguageResultExecution timeMemory
92515antimirage철인 이종 경기 (APIO18_duathlon)C++14
23 / 100
1102 ms1049600 KiB
#include <bits/stdc++.h> #define fr first #define sc second #define mk make_pair #define pb emplace_back #define all(s) s.begin(), s.end() using namespace std; const int N = 1e5 + 5; int n, m, x, y, cn; vector < vector <int> > g; long long ans, u[N]; void dfs (int v) { u[v] = 1; for (auto to : g[v]) { if (u[to]) continue; dfs(to); u[v] += u[to]; } } void dfs2 (int v, int root, int p = 0) { ans +=( u[root] - u[v]) * (u[v] - 1) * 2; for (auto to : g[v]) { if (to == p) continue; dfs2(to, root, v); ans += (u[v] - u[to] - 1) * u[to]; } } main() { cin >> n >> m; g.resize(n + 1); for (int i = 1; i <= m; i++) { scanf("%d%d", &x, &y); g[x].pb(y); g[y].pb(x); } for (int i = 1; i <= n; i++) { if (u[i]) continue; dfs(i); dfs2(i, i); } cout << ans << endl; }

Compilation message (stderr)

count_triplets.cpp:41:6: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
 main() 
      ^
count_triplets.cpp: In function 'int main()':
count_triplets.cpp:48:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d%d", &x, &y);
   ~~~~~^~~~~~~~~~~~~~~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...