| Task: | Tietoverkko |
| Sender: | jmarttinen |
| Submission time: | 2021-10-06 11:38:51 +0300 |
| Language: | C++ (C++11) |
| Status: | READY |
| Result: | 0 |
| group | verdict | score |
|---|---|---|
| #1 | WRONG ANSWER | 0 |
| #2 | WRONG ANSWER | 0 |
| #3 | WRONG ANSWER | 0 |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | WRONG ANSWER | 0.01 s | 1, 2, 3 | details |
| #2 | WRONG ANSWER | 0.56 s | 2, 3 | details |
| #3 | TIME LIMIT EXCEEDED | -- | 3 | details |
Code
#include <algorithm>
#include <iostream>
#include <map>
#include <set>
#include <vector>
using namespace std;
vector<pair<int, pair<int,int>>> network;
map<int, set<int>> graph;
long long search(int node, int ignoredNode) {
if (graph[node].size() <= 1) {
return 1;
}
long long s = 0;
for (auto n : graph[node]) {
if (n == ignoredNode) {
continue;
}
s += search(n, node);
}
return s;
}
int main() {
long long n, a, b, d;
long long s = 0;
cin >> n;
for (int i=1; i<n; i++) {
graph[i] = set<int>();
}
for (int i=0; i<n-1; i++) {
cin >> a >> b >> d;
graph[a].insert(b);
graph[b].insert(a);
network.push_back(pair<int, pair<int,int>>(d, pair<int,int>(a,b)));
}
sort(network.begin(), network.end());
long long l, r;
for (auto edge: network) {
l = 1, r = 1;
d = edge.first;
a = edge.second.first, b = edge.second.second;
graph[a].erase(b);
graph[b].erase(a);
for (auto node: graph[a]) {
l += search(node, a);
}
for (auto node: graph[b]) {
r += search(node, b);
}
s += l*r*d;
}
cout << s;
}Test details
Test 1
Group: 1, 2, 3
Verdict: WRONG ANSWER
| input |
|---|
| 100 1 2 74 1 3 100 2 4 50 3 5 40 ... |
| correct output |
|---|
| 88687 |
| user output |
|---|
| 35612 |
Test 2
Group: 2, 3
Verdict: WRONG ANSWER
| input |
|---|
| 5000 1 2 613084013 1 3 832364259 2 4 411999902 3 5 989696303 ... |
| correct output |
|---|
| 1103702320243776 |
| user output |
|---|
| 353509489536021 |
Test 3
Group: 3
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 200000 1 2 613084013 1 3 832364259 2 4 411999902 3 5 989696303 ... |
| correct output |
|---|
| 1080549209850010931 |
| user output |
|---|
| (empty) |
