| Task: | Town center |
| Sender: | aalto25h_001 |
| Submission time: | 2025-10-22 17:31:41 +0300 |
| Language: | C++ (C++17) |
| Status: | READY |
| Result: | ACCEPTED |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.00 s | details |
| #2 | ACCEPTED | 0.00 s | details |
| #3 | ACCEPTED | 0.00 s | details |
| #4 | ACCEPTED | 0.00 s | details |
| #5 | ACCEPTED | 0.00 s | details |
| #6 | ACCEPTED | 0.00 s | details |
| #7 | ACCEPTED | 0.00 s | details |
| #8 | ACCEPTED | 0.00 s | details |
| #9 | ACCEPTED | 0.00 s | details |
| #10 | ACCEPTED | 0.00 s | details |
| #11 | ACCEPTED | 0.00 s | details |
| #12 | ACCEPTED | 0.00 s | details |
| #13 | ACCEPTED | 0.00 s | details |
| #14 | ACCEPTED | 0.00 s | details |
| #15 | ACCEPTED | 0.00 s | details |
| #16 | ACCEPTED | 0.00 s | details |
| #17 | ACCEPTED | 0.00 s | details |
| #18 | ACCEPTED | 0.00 s | details |
| #19 | ACCEPTED | 0.00 s | details |
| #20 | ACCEPTED | 0.00 s | details |
| #21 | ACCEPTED | 0.00 s | details |
| #22 | ACCEPTED | 0.00 s | details |
| #23 | ACCEPTED | 0.00 s | details |
| #24 | ACCEPTED | 0.00 s | details |
| #25 | ACCEPTED | 0.00 s | details |
| #26 | ACCEPTED | 0.00 s | details |
| #27 | ACCEPTED | 0.00 s | details |
| #28 | ACCEPTED | 0.00 s | details |
| #29 | ACCEPTED | 0.00 s | details |
| #30 | ACCEPTED | 0.01 s | details |
| #31 | ACCEPTED | 0.01 s | details |
| #32 | ACCEPTED | 0.00 s | details |
| #33 | ACCEPTED | 0.00 s | details |
| #34 | ACCEPTED | 0.01 s | details |
| #35 | ACCEPTED | 0.00 s | details |
| #36 | ACCEPTED | 0.01 s | details |
| #37 | ACCEPTED | 0.00 s | details |
| #38 | ACCEPTED | 0.00 s | details |
| #39 | ACCEPTED | 0.00 s | details |
| #40 | ACCEPTED | 0.01 s | details |
| #41 | ACCEPTED | 0.01 s | details |
| #42 | ACCEPTED | 0.01 s | details |
| #43 | ACCEPTED | 0.01 s | details |
| #44 | ACCEPTED | 0.01 s | details |
| #45 | ACCEPTED | 0.01 s | details |
| #46 | ACCEPTED | 0.01 s | details |
| #47 | ACCEPTED | 0.01 s | details |
| #48 | ACCEPTED | 0.01 s | details |
| #49 | ACCEPTED | 0.01 s | details |
| #50 | ACCEPTED | 0.03 s | details |
| #51 | ACCEPTED | 0.03 s | details |
| #52 | ACCEPTED | 0.01 s | details |
| #53 | ACCEPTED | 0.01 s | details |
| #54 | ACCEPTED | 0.04 s | details |
| #55 | ACCEPTED | 0.01 s | details |
| #56 | ACCEPTED | 0.04 s | details |
| #57 | ACCEPTED | 0.02 s | details |
| #58 | ACCEPTED | 0.02 s | details |
| #59 | ACCEPTED | 0.02 s | details |
| #60 | ACCEPTED | 0.13 s | details |
| #61 | ACCEPTED | 0.13 s | details |
| #62 | ACCEPTED | 0.04 s | details |
| #63 | ACCEPTED | 0.04 s | details |
| #64 | ACCEPTED | 0.14 s | details |
| #65 | ACCEPTED | 0.05 s | details |
| #66 | ACCEPTED | 0.13 s | details |
| #67 | ACCEPTED | 0.08 s | details |
| #68 | ACCEPTED | 0.08 s | details |
| #69 | ACCEPTED | 0.09 s | details |
Code
#include <iostream>
#include <algorithm>
#include <vector>
#include <cmath>
#include <queue>
#include <climits>
using namespace std;
typedef long long ll;
void dijkstra2(const vector<vector<pair<long long,long long>>> &adj, long long start, vector<long long> &dist) {
long long n = adj.size();
vector<bool> processed(n, false);
dist.assign(n, 0);
priority_queue<pair<long long,long long>> pq;
dist[start] = 9223372036854775807;
pq.push({0, start});
while (!pq.empty()) {
long long a = pq.top().second;
pq.pop();
if (processed[a]) continue;
processed[a] = true;
for (auto [b, w] : adj[a]) {
if(dist[b] < min(dist[a],w)) {
dist[b] = min(w,dist[a]);
pq.push({dist[b], b});
}
}
}
}
ll dijkstra(const vector<vector<pair<long long,long long>>> &adj, long long start, vector<long long> &dist) {
long long n = adj.size();
dist.assign(n, LLONG_MAX);
vector<bool> processed(n, false);
priority_queue<pair<long long,long long>, vector<pair<long long,long long>>, greater<pair<long long,long long>>> pq;
dist[start] = 0;
pq.push({0, start});
ll commulted = 0;
while (!pq.empty()) {
long long a = pq.top().second;
pq.pop();
if (processed[a]) continue;
processed[a] = true;
for (auto [b, w] : adj[a]) {
if (dist[a] + w < dist[b]) {
if(dist[b] != LLONG_MAX)
commulted -= dist[b];
dist[b] = dist[a] + w;
commulted += dist[b];
pq.push({dist[b], b});
}
}
}
return commulted;
}
void task2(){
ll n, q;
cin >> n >> q;
vector<vector<pair<ll,ll>>> adj(n+1, vector<pair<ll,ll>>(n+1));
for(ll i = 1; i <= n; i++){
for(ll j = 1; j <= n; j++){
ll a;
cin >> a;
adj[i][j] = make_pair(j,a);
}
}
vector<vector<ll>> maxKeel(n+1, vector<ll>(n+1,0));
for(ll i = 1; i <= n; i++){
vector<ll> dist;
dijkstra(adj, i, dist);
maxKeel[i] = dist;
}
for(ll i = 1; i <= q; i++){
ll a,b;
cin >> a >> b;
cout << maxKeel[a][b] << endl;
}
}
void task3(){
ll n, m;
cin >> n >> m;
vector<vector<pair<ll,ll>>> adj(n);
for(ll i = 0; i < m; i++){
ll a ,b;
cin >> a >> b;
a--;
b--;
adj[a].push_back( make_pair(b,1) );
adj[b].push_back( make_pair(a,1) );
}
vector<double> avr(n+1,LLONG_MAX);
for(ll i = 0; i < n; i++){
vector<ll> dist;
ll com = dijkstra(adj, i, dist);
//cout << com << endl;
///for(ll j = 0; j < n; j++){
// cout << dist[j] << " ";
//}
//cout << endl;
avr[i] = double(com) / double(n);
}
/*ll sum = 0;
for(ll j = 1; j <= n; j++){
sum += dist[j];
//cout << dist[j] << endl;
}*/
//avr[i] = sum / (double(n));
//cout << avr[i] << " ";
//cout << double(com) / double(n) << endl;
double minVal = LLONG_MAX;
int index = -1;
for(ll i = 0; i < n; i++){
if(avr[i] < minVal){
minVal = avr[i];
index = i;
}
//cout << avr[i] << " ";
}
cout << index+1 << endl;
}
int main() {
task3();
return 0;
}
Test details
Test 1
Verdict: ACCEPTED
| input |
|---|
| 2 1 1 2 |
| correct output |
|---|
| 1 |
| user output |
|---|
| 1 |
Test 2
Verdict: ACCEPTED
| input |
|---|
| 3 3 1 2 1 3 2 3 |
| correct output |
|---|
| 1 |
| user output |
|---|
| 1 |
Test 3
Verdict: ACCEPTED
| input |
|---|
| 3 3 1 2 1 3 2 3 |
| correct output |
|---|
| 1 |
| user output |
|---|
| 1 |
Test 4
Verdict: ACCEPTED
| input |
|---|
| 3 2 1 3 2 3 |
| correct output |
|---|
| 3 |
| user output |
|---|
| 3 |
Test 5
Verdict: ACCEPTED
| input |
|---|
| 4 5 1 2 1 3 1 4 2 3 ... |
| correct output |
|---|
| 1 |
| user output |
|---|
| 1 |
Test 6
Verdict: ACCEPTED
| input |
|---|
| 4 6 1 2 1 3 1 4 2 3 ... |
| correct output |
|---|
| 1 |
| user output |
|---|
| 1 |
Test 7
Verdict: ACCEPTED
| input |
|---|
| 4 4 1 2 1 4 2 3 3 4 |
| correct output |
|---|
| 1 |
| user output |
|---|
| 1 |
Test 8
Verdict: ACCEPTED
| input |
|---|
| 4 5 1 2 1 3 1 4 2 4 ... |
| correct output |
|---|
| 1 |
| user output |
|---|
| 1 |
Test 9
Verdict: ACCEPTED
| input |
|---|
| 4 6 1 2 1 3 1 4 2 3 ... |
| correct output |
|---|
| 1 |
| user output |
|---|
| 1 |
Test 10
Verdict: ACCEPTED
| input |
|---|
| 5 7 1 2 1 4 1 5 2 3 ... |
| correct output |
|---|
| 1 |
| user output |
|---|
| 1 |
Test 11
Verdict: ACCEPTED
| input |
|---|
| 5 6 1 2 1 3 1 4 1 5 ... |
| correct output |
|---|
| 1 |
| user output |
|---|
| 1 |
Test 12
Verdict: ACCEPTED
| input |
|---|
| 5 7 1 2 1 3 1 4 2 3 ... |
| correct output |
|---|
| 3 |
| user output |
|---|
| 3 |
Test 13
Verdict: ACCEPTED
| input |
|---|
| 5 7 1 2 1 3 1 4 2 3 ... |
| correct output |
|---|
| 3 |
| user output |
|---|
| 3 |
Test 14
Verdict: ACCEPTED
| input |
|---|
| 5 10 1 2 1 3 1 4 1 5 ... |
| correct output |
|---|
| 1 |
| user output |
|---|
| 1 |
Test 15
Verdict: ACCEPTED
| input |
|---|
| 5 5 1 2 1 5 2 3 2 5 ... |
| correct output |
|---|
| 2 |
| user output |
|---|
| 2 |
Test 16
Verdict: ACCEPTED
| input |
|---|
| 5 10 1 2 1 3 1 4 1 5 ... |
| correct output |
|---|
| 1 |
| user output |
|---|
| 1 |
Test 17
Verdict: ACCEPTED
| input |
|---|
| 5 4 1 4 1 5 2 4 3 5 |
| correct output |
|---|
| 1 |
| user output |
|---|
| 1 |
Test 18
Verdict: ACCEPTED
| input |
|---|
| 5 10 1 2 1 3 1 4 1 5 ... |
| correct output |
|---|
| 1 |
| user output |
|---|
| 1 |
Test 19
Verdict: ACCEPTED
| input |
|---|
| 5 4 1 3 1 5 2 4 3 4 |
| correct output |
|---|
| 3 |
| user output |
|---|
| 3 |
Test 20
Verdict: ACCEPTED
| input |
|---|
| 10 29 1 4 1 6 1 7 1 9 ... |
| correct output |
|---|
| 4 |
| user output |
|---|
| 4 |
Test 21
Verdict: ACCEPTED
| input |
|---|
| 10 24 1 3 1 4 1 5 1 6 ... |
| correct output |
|---|
| 4 |
| user output |
|---|
| 4 |
Test 22
Verdict: ACCEPTED
| input |
|---|
| 10 9 1 6 2 3 2 4 3 9 ... |
| correct output |
|---|
| 2 |
| user output |
|---|
| 2 |
Test 23
Verdict: ACCEPTED
| input |
|---|
| 10 11 1 2 1 3 1 6 2 7 ... |
| correct output |
|---|
| 5 |
| user output |
|---|
| 5 |
Test 24
Verdict: ACCEPTED
| input |
|---|
| 10 44 1 2 1 3 1 4 1 5 ... |
| correct output |
|---|
| 1 |
| user output |
|---|
| 1 |
Test 25
Verdict: ACCEPTED
| input |
|---|
| 10 12 1 3 1 7 1 10 2 8 ... |
| correct output |
|---|
| 7 |
| user output |
|---|
| 7 |
Test 26
Verdict: ACCEPTED
| input |
|---|
| 10 42 1 2 1 4 1 5 1 6 ... |
| correct output |
|---|
| 4 |
| user output |
|---|
| 4 |
Test 27
Verdict: ACCEPTED
| input |
|---|
| 10 12 1 2 1 5 2 3 2 5 ... |
| correct output |
|---|
| 3 |
| user output |
|---|
| 3 |
Test 28
Verdict: ACCEPTED
| input |
|---|
| 10 12 1 2 1 3 1 8 2 4 ... |
| correct output |
|---|
| 1 |
| user output |
|---|
| 1 |
Test 29
Verdict: ACCEPTED
| input |
|---|
| 10 9 1 10 2 3 2 5 3 9 ... |
| correct output |
|---|
| 2 |
| user output |
|---|
| 2 |
Test 30
Verdict: ACCEPTED
| input |
|---|
| 100 319 1 37 1 67 1 75 1 82 ... |
| correct output |
|---|
| 22 |
| user output |
|---|
| 22 |
Test 31
Verdict: ACCEPTED
| input |
|---|
| 100 266 1 31 1 65 1 71 1 89 ... |
| correct output |
|---|
| 76 |
| user output |
|---|
| 76 |
Test 32
Verdict: ACCEPTED
| input |
|---|
| 100 99 1 21 1 73 2 8 2 16 ... |
| correct output |
|---|
| 6 |
| user output |
|---|
| 6 |
Test 33
Verdict: ACCEPTED
| input |
|---|
| 100 101 1 39 1 76 2 43 2 60 ... |
| correct output |
|---|
| 39 |
| user output |
|---|
| 39 |
Test 34
Verdict: ACCEPTED
| input |
|---|
| 100 487 1 6 1 12 1 63 1 64 ... |
| correct output |
|---|
| 41 |
| user output |
|---|
| 41 |
Test 35
Verdict: ACCEPTED
| input |
|---|
| 100 102 1 12 1 39 2 4 2 92 ... |
| correct output |
|---|
| 97 |
| user output |
|---|
| 97 |
Test 36
Verdict: ACCEPTED
| input |
|---|
| 100 457 1 2 1 4 1 5 1 6 ... |
| correct output |
|---|
| 9 |
| user output |
|---|
| 9 |
Test 37
Verdict: ACCEPTED
| input |
|---|
| 100 102 1 2 1 11 1 12 1 15 ... |
| correct output |
|---|
| 2 |
| user output |
|---|
| 2 |
Test 38
Verdict: ACCEPTED
| input |
|---|
| 100 102 1 2 1 3 1 8 1 27 ... |
| correct output |
|---|
| 4 |
| user output |
|---|
| 4 |
Test 39
Verdict: ACCEPTED
| input |
|---|
| 100 103 1 66 1 92 2 20 2 23 ... |
| correct output |
|---|
| 50 |
| user output |
|---|
| 50 |
Test 40
Verdict: ACCEPTED
| input |
|---|
| 200 639 1 19 1 48 1 74 1 128 ... |
| correct output |
|---|
| 140 |
| user output |
|---|
| 140 |
Test 41
Verdict: ACCEPTED
| input |
|---|
| 200 533 1 61 1 65 1 71 1 116 ... |
| correct output |
|---|
| 28 |
| user output |
|---|
| 28 |
Test 42
Verdict: ACCEPTED
| input |
|---|
| 200 199 1 73 1 109 2 79 2 97 ... |
| correct output |
|---|
| 138 |
| user output |
|---|
| 138 |
Test 43
Verdict: ACCEPTED
| input |
|---|
| 200 201 1 76 1 107 2 43 2 60 ... |
| correct output |
|---|
| 18 |
| user output |
|---|
| 18 |
Test 44
Verdict: ACCEPTED
| input |
|---|
| 200 974 1 12 1 24 1 37 1 83 ... |
| correct output |
|---|
| 13 |
| user output |
|---|
| 13 |
Test 45
Verdict: ACCEPTED
| input |
|---|
| 200 202 1 123 1 170 2 127 2 133 ... |
| correct output |
|---|
| 6 |
| user output |
|---|
| 6 |
Test 46
Verdict: ACCEPTED
| input |
|---|
| 200 915 1 2 1 4 1 5 1 7 ... |
| correct output |
|---|
| 23 |
| user output |
|---|
| 23 |
Test 47
Verdict: ACCEPTED
| input |
|---|
| 200 202 1 2 1 11 1 12 1 15 ... |
| correct output |
|---|
| 2 |
| user output |
|---|
| 2 |
Test 48
Verdict: ACCEPTED
| input |
|---|
| 200 202 1 2 1 3 1 8 1 27 ... |
| correct output |
|---|
| 5 |
| user output |
|---|
| 5 |
Test 49
Verdict: ACCEPTED
| input |
|---|
| 200 207 1 92 1 156 2 33 2 103 ... |
| correct output |
|---|
| 28 |
| user output |
|---|
| 28 |
Test 50
Verdict: ACCEPTED
| input |
|---|
| 500 1597 1 16 1 19 1 73 1 190 ... |
| correct output |
|---|
| 364 |
| user output |
|---|
| 364 |
Test 51
Verdict: ACCEPTED
| input |
|---|
| 500 1333 1 71 1 76 1 197 1 289 ... |
| correct output |
|---|
| 492 |
| user output |
|---|
| 492 |
Test 52
Verdict: ACCEPTED
| input |
|---|
| 500 499 1 128 1 491 2 280 2 344 ... |
| correct output |
|---|
| 76 |
| user output |
|---|
| 76 |
Test 53
Verdict: ACCEPTED
| input |
|---|
| 500 501 1 170 1 405 2 43 2 234 ... |
| correct output |
|---|
| 246 |
| user output |
|---|
| 246 |
Test 54
Verdict: ACCEPTED
| input |
|---|
| 500 2434 1 49 1 60 1 80 1 83 ... |
| correct output |
|---|
| 32 |
| user output |
|---|
| 32 |
Test 55
Verdict: ACCEPTED
| input |
|---|
| 500 502 1 208 1 407 2 266 2 336 ... |
| correct output |
|---|
| 111 |
| user output |
|---|
| 111 |
Test 56
Verdict: ACCEPTED
| input |
|---|
| 500 2286 1 2 1 4 1 5 1 7 ... |
| correct output |
|---|
| 204 |
| user output |
|---|
| 204 |
Test 57
Verdict: ACCEPTED
| input |
|---|
| 500 502 1 2 1 11 1 12 1 15 ... |
| correct output |
|---|
| 2 |
| user output |
|---|
| 2 |
Test 58
Verdict: ACCEPTED
| input |
|---|
| 500 502 1 2 1 3 1 8 1 27 ... |
| correct output |
|---|
| 79 |
| user output |
|---|
| 79 |
Test 59
Verdict: ACCEPTED
| input |
|---|
| 500 519 1 92 1 333 2 10 2 170 ... |
| correct output |
|---|
| 170 |
| user output |
|---|
| 170 |
Test 60
Verdict: ACCEPTED
| input |
|---|
| 1000 3195 1 31 1 145 1 218 1 320 ... |
| correct output |
|---|
| 774 |
| user output |
|---|
| 774 |
Test 61
Verdict: ACCEPTED
| input |
|---|
| 1000 2667 1 24 1 61 1 142 1 303 ... |
| correct output |
|---|
| 648 |
| user output |
|---|
| 648 |
Test 62
Verdict: ACCEPTED
| input |
|---|
| 1000 999 1 99 1 165 2 280 2 344 ... |
| correct output |
|---|
| 611 |
| user output |
|---|
| 611 |
Test 63
Verdict: ACCEPTED
| input |
|---|
| 1000 1001 1 170 1 763 2 329 2 908 ... |
| correct output |
|---|
| 736 |
| user output |
|---|
| 736 |
Test 64
Verdict: ACCEPTED
| input |
|---|
| 1000 4869 1 98 1 209 1 419 1 602 ... |
| correct output |
|---|
| 939 |
| user output |
|---|
| 939 |
Test 65
Verdict: ACCEPTED
| input |
|---|
| 1000 1002 1 208 1 407 2 336 2 544 ... |
| correct output |
|---|
| 576 |
| user output |
|---|
| 576 |
Test 66
Verdict: ACCEPTED
| input |
|---|
| 1000 4572 1 2 1 4 1 5 1 7 ... |
| correct output |
|---|
| 592 |
| user output |
|---|
| 592 |
Test 67
Verdict: ACCEPTED
| input |
|---|
| 1000 1002 1 2 1 11 1 12 1 15 ... |
| correct output |
|---|
| 2 |
| user output |
|---|
| 2 |
Test 68
Verdict: ACCEPTED
| input |
|---|
| 1000 1002 1 2 1 3 1 8 1 27 ... |
| correct output |
|---|
| 512 |
| user output |
|---|
| 512 |
Test 69
Verdict: ACCEPTED
| input |
|---|
| 1000 1040 1 333 1 989 2 507 2 998 ... |
| correct output |
|---|
| 73 |
| user output |
|---|
| 73 |
