| Task: | Laskettelukeskus |
| Sender: | iraaz |
| Submission time: | 2023-11-02 15:57:44 +0200 |
| Language: | C++ (C++11) |
| Status: | READY |
| Result: | 0 |
| group | verdict | score |
|---|---|---|
| #1 | WRONG ANSWER | 0 |
| #2 | WRONG ANSWER | 0 |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | ACCEPTED | 0.00 s | 1, 2 | details |
| #2 | WRONG ANSWER | 0.00 s | 1, 2 | details |
| #3 | WRONG ANSWER | 0.00 s | 1, 2 | details |
| #4 | WRONG ANSWER | 0.11 s | 2 | details |
| #5 | WRONG ANSWER | 0.11 s | 2 | details |
| #6 | ACCEPTED | 0.00 s | 1, 2 | details |
| #7 | ACCEPTED | 0.08 s | 2 | details |
| #8 | WRONG ANSWER | 0.00 s | 1, 2 | details |
| #9 | WRONG ANSWER | 0.11 s | 2 | details |
| #10 | WRONG ANSWER | 0.00 s | 1, 2 | details |
| #11 | WRONG ANSWER | 0.11 s | 2 | details |
| #12 | WRONG ANSWER | 0.00 s | 1, 2 | details |
| #13 | WRONG ANSWER | 0.11 s | 2 | details |
Code
#include <iostream>
using namespace std;
// Create the tree. Traverse tree from bottom
// First create all the nodes in vector
struct node {
struct node *parent;
int snowplows;
int going = 0;
};
int main()
{
int slope_count;
cin >> slope_count;
node slopes[slope_count];
node root_node;
root_node.snowplows = 0;
slopes[0] = root_node;
for (int i = 1; i < slope_count; i++) {
int a, b;
cin >> a >> b;
node n;
n.parent = &slopes[a-1];
slopes[b-1] = n;
//cout << a << ", " << b << endl;
}
int plows;
int slope_i = 0;
while ( cin >> plows ) {
slopes[slope_i].snowplows = plows;
//cout << "Hill " << slope_i << " needs: " << plows << endl;
slope_i++;
}
//cout << "Best route code" << endl;
for (int i = slope_count; i--;) {
int difference = slopes[i].snowplows - slopes[i].going;
if (difference < 0) {
difference = 0;
}
if (slopes[i].going == slopes[i].snowplows) {
difference = slopes[i].going;
}
if (i == 0) {
//cout << "END " << slopes[i].going + difference << endl;
cout << slopes[i].going + difference << endl;
break;
}
//cout << "Before " << slopes[i].parent->going << endl;
slopes[i].parent->going += difference;
//cout << "After " << slopes[i].parent->going << endl;
//cout << "After " << slopes[i].parent << endl;
//cout << "index " << i << " --- Plows " << slopes[i].snowplows << " going trough " << slopes[i].going << " diff " << difference << " par " << slopes[i].parent->going << endl;
}
//cout << slope_count << endl;
return 0;
}
Test details
Test 1
Group: 1, 2
Verdict: ACCEPTED
| input |
|---|
| 5 1 2 1 3 3 4 3 5 ... |
| correct output |
|---|
| 6 |
| user output |
|---|
| 6 |
Test 2
Group: 1, 2
Verdict: WRONG ANSWER
| input |
|---|
| 100 1 73 1 64 64 23 1 88 ... |
| correct output |
|---|
| 2675 |
| user output |
|---|
| 106 |
Test 3
Group: 1, 2
Verdict: WRONG ANSWER
| input |
|---|
| 100 1 36 36 56 56 59 36 97 ... |
| correct output |
|---|
| 2808 |
| user output |
|---|
| 136 |
Test 4
Group: 2
Verdict: WRONG ANSWER
| input |
|---|
| 100000 1 45452 1 74209 45452 78960 45452 79820 ... |
| correct output |
|---|
| 28399367694319 |
| user output |
|---|
| 1636142932 |
Test 5
Group: 2
Verdict: WRONG ANSWER
| input |
|---|
| 100000 1 31165 1 23263 31165 89516 31165 53122 ... |
| correct output |
|---|
| 28546840313799 |
| user output |
|---|
| 409055242 |
Test 6
Group: 1, 2
Verdict: ACCEPTED
| input |
|---|
| 100 1 79 79 9 79 45 45 10 ... |
| correct output |
|---|
| 0 |
| user output |
|---|
| 0 |
Test 7
Group: 2
Verdict: ACCEPTED
| input |
|---|
| 100000 1 66038 1 56789 56789 7403 66038 69542 ... |
| correct output |
|---|
| 0 |
| user output |
|---|
| 0 |
Test 8
Group: 1, 2
Verdict: WRONG ANSWER
| input |
|---|
| 100 1 2 2 3 3 4 4 5 ... |
| correct output |
|---|
| 100 |
| user output |
|---|
| 200 |
Test 9
Group: 2
Verdict: WRONG ANSWER
| input |
|---|
| 100000 1 2 2 3 3 4 4 5 ... |
| correct output |
|---|
| 1000000000 |
| user output |
|---|
| 2000000000 |
Test 10
Group: 1, 2
Verdict: WRONG ANSWER
| input |
|---|
| 100 1 2 1 3 2 4 2 5 ... |
| correct output |
|---|
| 2809 |
| user output |
|---|
| 97 |
Test 11
Group: 2
Verdict: WRONG ANSWER
| input |
|---|
| 100000 1 2 1 3 2 4 2 5 ... |
| correct output |
|---|
| 26053917212428 |
| user output |
|---|
| 276231298 |
Test 12
Group: 1, 2
Verdict: WRONG ANSWER
| input |
|---|
| 100 1 2 1 3 2 4 2 5 ... |
| correct output |
|---|
| 5000 |
| user output |
|---|
| 200 |
Test 13
Group: 2
Verdict: WRONG ANSWER
| input |
|---|
| 100000 1 2 1 3 2 4 2 5 ... |
| correct output |
|---|
| 50000000000000 |
| user output |
|---|
| 2000000000 |
