Submission #1234302

#TimeUsernameProblemLanguageResultExecution timeMemory
1234302JerDuathlon (APIO18_duathlon)C++20
0 / 100
1119 ms1114112 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; const int MAXN = 100005; const int LOG = 20; vector<int> con[MAXN]; int n, m; ll res = 0; int dfs(int curr, int par) { int sub = 0; for (auto i : con[curr]) { if (i == par) continue; sub += dfs(i, curr); } res += (ll)(n - sub - 1) * (ll)(sub); return sub + 1; } int main() { scanf("%d%d", &n, &m); int a, b; for (int i = 0; i < m; ++i) scanf("%d%d", &a, &b), con[a].push_back(b), con[b].push_back(a); for (auto i : con[1]) dfs(i, 1); printf("%lld\n", 2LL * res); return 0; }

Compilation message (stderr)

count_triplets.cpp: In function 'int main()':
count_triplets.cpp:32:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   32 |     scanf("%d%d", &n, &m);
      |     ~~~~~^~~~~~~~~~~~~~~~
count_triplets.cpp:36:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   36 |         scanf("%d%d", &a, &b), con[a].push_back(b), con[b].push_back(a);
      |         ~~~~~^~~~~~~~~~~~~~~~
#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...