Submission #1163346

#TimeUsernameProblemLanguageResultExecution timeMemory
1163346HappyCapybaraIdeal city (IOI12_city)C++20
32 / 100
1096 ms1748 KiB
#include<bits/stdc++.h> using namespace std; #define ll long long int n; ll res = 0; vector<vector<int>> g; vector<bool> seen; void bfs(int s){ seen.assign(n, false); queue<pair<int,ll>> q; q.push({s, 0}); while (!q.empty()){ int cur = q.front().first, d = q.front().second; q.pop(); if (seen[cur]) continue; seen[cur] = true; if (cur > s) res += d; for (int next : g[cur]) q.push({next, d+1}); } } int DistanceSum(int N, int *X, int *Y){ n = N; g.resize(N); for (int i=0; i<N-1; i++){ for (int j=i+1; j<N; j++){ if (abs(X[i]-X[j])+abs(Y[i]-Y[j]) == 1){ g[i].push_back(j); g[j].push_back(i); } } } for (int i=0; i<N; i++) bfs(i); return res % 1000000000; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...