Submission #554158

# Submission time Handle Problem Language Result Execution time Memory
554158 2022-04-27T17:52:40 Z Alma Traffic (IOI10_traffic) C++14
0 / 100
0 ms 212 KB
#include <bits/stdc++.h>
// #include "traffic.h"
using namespace std;
 
typedef long long int ll;
 
vector<vector<int>> graph;
vector<ll> cost;
vector<bool> visited;
vector<ll> DP;
 
ll traffic (int city) {
    if (DP[city] != -1) return DP[city];
 
    DP[city] = cost[city];
    visited[city] = true;
 
    for (int road: graph[city]) {
        if (!visited[road]) DP[city] += traffic(road);
    }
    return DP[city];
}

int LocateCentre(int N, int pp[], int S[], int D[]) {
    graph.assign(N, vector<int>());
    cost.clear();
    DP.assign(N, -1);
 
    for (int i = 0; i < N; i++) {
        graph[S[i]].push_back(D[i]);
        graph[D[i]].push_back(S[i]);
        cost.push_back(pp[i]);
    }
    vector<pair<ll, int>> maximums (N);
    visited.assign(N, false);

    for (int city = 0; city < N; city++) {
        if ((int)graph[city].size() > 1)
            continue;

        ll congestion = traffic(city);
        congestion = 0;
        
        for (auto road: graph[city]) {
            congestion = max(congestion, traffic(road));
        }
        maximums[city].first = congestion;
        maximums[city].second = city;
    }
    sort (maximums.begin(), maximums.end());
    pair<ll, int> arenaCity = maximums[0];
    return arenaCity.second;
}
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -