| Task: | Sadonkorjuu | 
| Sender: | Zexee | 
| Submission time: | 2022-11-11 15:43:25 +0200 | 
| Language: | C++ (C++17) | 
| 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 | ACCEPTED | 0.00 s | 1, 2 | details | 
| #3 | ACCEPTED | 0.00 s | 1, 2 | details | 
| #4 | WRONG ANSWER | 0.00 s | 1, 2 | details | 
| #5 | ACCEPTED | 0.00 s | 1, 2 | details | 
| #6 | WRONG ANSWER | 0.01 s | 1, 2 | details | 
| #7 | WRONG ANSWER | 0.29 s | 2 | details | 
| #8 | WRONG ANSWER | 0.01 s | 1, 2 | details | 
| #9 | WRONG ANSWER | 0.29 s | 2 | details | 
| #10 | ACCEPTED | 0.01 s | 1, 2 | details | 
| #11 | ACCEPTED | 0.27 s | 2 | details | 
| #12 | WRONG ANSWER | 0.25 s | 2 | details | 
| #13 | WRONG ANSWER | 0.24 s | 2 | details | 
| #14 | ACCEPTED | 0.24 s | 2 | details | 
| #15 | WRONG ANSWER | 0.01 s | 1, 2 | details | 
| #16 | WRONG ANSWER | 0.01 s | 1, 2 | details | 
| #17 | ACCEPTED | 0.00 s | 1, 2 | details | 
| #18 | WRONG ANSWER | 0.01 s | 1, 2 | details | 
| #19 | ACCEPTED | 0.01 s | 1, 2 | details | 
| #20 | WRONG ANSWER | 0.01 s | 1, 2 | details | 
| #21 | WRONG ANSWER | 0.24 s | 2 | details | 
| #22 | WRONG ANSWER | 0.24 s | 2 | details | 
| #23 | WRONG ANSWER | 0.25 s | 2 | details | 
| #24 | WRONG ANSWER | 0.01 s | 1, 2 | details | 
| #25 | WRONG ANSWER | 0.24 s | 2 | details | 
| #26 | ACCEPTED | 0.01 s | 1, 2 | details | 
| #27 | ACCEPTED | 0.23 s | 2 | details | 
| #28 | WRONG ANSWER | 0.00 s | 1, 2 | details | 
| #29 | WRONG ANSWER | 0.23 s | 2 | details | 
| #30 | WRONG ANSWER | 0.01 s | 1, 2 | details | 
| #31 | WRONG ANSWER | 0.24 s | 2 | details | 
Code
#include <bits/stdc++.h>
using namespace std;
vector<tuple<bool,long long>> farm;
vector<vector<tuple<int, int>>> routes;
int distance(int city, int source){
	if(get<0>(farm[city])==0){
		return 0;
	}
	long long * preCalc=&get<1>(farm[city]);
	if(*preCalc!=0){
		return *preCalc;
	}
	long long best=9999999999;
	for (tuple<int,int> i: routes[city]){
		int dest=get<0>(i);
		int len=get<1>(i);
		if (dest == source){
			continue;
		}
		long long lenTo=len+distance(dest,city);
		best=min(best,lenTo);
	}
	if (best!=9999999999){*preCalc=best;}
	return best;
}
int main() {
	int n;
	cin>>n;
	farm.push_back({true,0});
	for (int i=0;i<n;i++){
		int temp;
		cin>>temp;
		farm.push_back({temp==1,0});
	}
	routes.resize(n+1);
	for (int i=0;i<n-1;i++){
		int first, second, length;
		cin>>first>>second>>length;
		//cout<<"first: "<<first<<" second: "<<second<<"\n";
		routes[first].push_back(make_tuple(second,length));
		routes[second].push_back(make_tuple(first,length));
	}
	long long sum = 0;
	for (int i=1;i<=n;i++){
		sum+=distance(i,0);
	}
	cout<<sum;
}
Test details
Test 1
Group: 1, 2
Verdict: ACCEPTED
| input | 
|---|
| 1 0  | 
| correct output | 
|---|
| 0 | 
| user output | 
|---|
| 0 | 
Test 2
Group: 1, 2
Verdict: ACCEPTED
| input | 
|---|
| 5 0 0 0 0 0 1 2 1 2 3 2 3 4 3 ...  | 
| correct output | 
|---|
| 0 | 
| user output | 
|---|
| 0 | 
Test 3
Group: 1, 2
Verdict: ACCEPTED
| input | 
|---|
| 4 1 0 1 1 1 2 10 2 3 20 2 4 30  | 
| correct output | 
|---|
| 60 | 
| user output | 
|---|
| 60 | 
Test 4
Group: 1, 2
Verdict: WRONG ANSWER
| input | 
|---|
| 5 0 1 1 1 0 1 2 10 2 3 20 3 4 30 ...  | 
| correct output | 
|---|
| 80 | 
| user output | 
|---|
| 120 | 
Test 5
Group: 1, 2
Verdict: ACCEPTED
| input | 
|---|
| 5 0 1 0 1 1 1 2 1 2 3 5 3 4 3 ...  | 
| correct output | 
|---|
| 6 | 
| user output | 
|---|
| 6 | 
Test 6
Group: 1, 2
Verdict: WRONG ANSWER
| input | 
|---|
| 1000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 5506363 | 
| user output | 
|---|
| 1390325281309 | 
Test 7
Group: 2
Verdict: WRONG ANSWER
| input | 
|---|
| 200000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 1795118520 | 
| user output | 
|---|
| 281996305495580 | 
Test 8
Group: 1, 2
Verdict: WRONG ANSWER
| input | 
|---|
| 1000 0 0 1 0 1 1 0 1 0 1 1 0 0 0 1 ...  | 
| correct output | 
|---|
| 293576 | 
| user output | 
|---|
| 81784075391 | 
Test 9
Group: 2
Verdict: WRONG ANSWER
| input | 
|---|
| 200000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 816932444 | 
| user output | 
|---|
| 273686796177756 | 
Test 10
Group: 1, 2
Verdict: ACCEPTED
| input | 
|---|
| 1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...  | 
| correct output | 
|---|
| 3089 | 
| user output | 
|---|
| 3089 | 
Test 11
Group: 2
Verdict: ACCEPTED
| input | 
|---|
| 200000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...  | 
| correct output | 
|---|
| 40839 | 
| user output | 
|---|
| 40839 | 
Test 12
Group: 2
Verdict: WRONG ANSWER
| input | 
|---|
| 200000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 5683983203973 | 
| user output | 
|---|
| 198349737202528 | 
Test 13
Group: 2
Verdict: WRONG ANSWER
| input | 
|---|
| 200000 0 1 1 1 1 1 1 0 0 0 1 1 0 1 0 ...  | 
| correct output | 
|---|
| 58572993 | 
| user output | 
|---|
| 70399309 | 
Test 14
Group: 2
Verdict: ACCEPTED
| input | 
|---|
| 200000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...  | 
| correct output | 
|---|
| 32755 | 
| user output | 
|---|
| 32755 | 
Test 15
Group: 1, 2
Verdict: WRONG ANSWER
| input | 
|---|
| 1000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 126238345 | 
| user output | 
|---|
| 760152484321 | 
Test 16
Group: 1, 2
Verdict: WRONG ANSWER
| input | 
|---|
| 1000 0 0 0 1 0 1 1 1 0 0 1 0 1 1 0 ...  | 
| correct output | 
|---|
| 278678 | 
| user output | 
|---|
| 327563 | 
Test 17
Group: 1, 2
Verdict: ACCEPTED
| input | 
|---|
| 1000 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 ...  | 
| correct output | 
|---|
| 34929 | 
| user output | 
|---|
| 34929 | 
Test 18
Group: 1, 2
Verdict: WRONG ANSWER
| input | 
|---|
| 1000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 1543963 | 
| user output | 
|---|
| 792457375386 | 
Test 19
Group: 1, 2
Verdict: ACCEPTED
| input | 
|---|
| 1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...  | 
| correct output | 
|---|
| 39606 | 
| user output | 
|---|
| 39606 | 
Test 20
Group: 1, 2
Verdict: WRONG ANSWER
| input | 
|---|
| 1000 1 0 1 0 1 0 0 0 0 1 1 0 0 0 1 ...  | 
| correct output | 
|---|
| 321598 | 
| user output | 
|---|
| 67683429669 | 
Test 21
Group: 2
Verdict: WRONG ANSWER
| input | 
|---|
| 200000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 978670626 | 
| user output | 
|---|
| 269697715887082 | 
Test 22
Group: 2
Verdict: WRONG ANSWER
| input | 
|---|
| 200000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...  | 
| correct output | 
|---|
| 375218 | 
| user output | 
|---|
| 375753 | 
Test 23
Group: 2
Verdict: WRONG ANSWER
| input | 
|---|
| 200000 1 1 1 1 0 0 0 0 0 1 0 1 0 1 1 ...  | 
| correct output | 
|---|
| 60422556 | 
| user output | 
|---|
| 13172886376616 | 
Test 24
Group: 1, 2
Verdict: WRONG ANSWER
| input | 
|---|
| 1000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 291990 | 
| user output | 
|---|
| 295339 | 
Test 25
Group: 2
Verdict: WRONG ANSWER
| input | 
|---|
| 200000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 59607954 | 
| user output | 
|---|
| 60536863 | 
Test 26
Group: 1, 2
Verdict: ACCEPTED
| input | 
|---|
| 1000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 990 | 
| user output | 
|---|
| 990 | 
Test 27
Group: 2
Verdict: ACCEPTED
| input | 
|---|
| 200000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 199982 | 
| user output | 
|---|
| 199982 | 
Test 28
Group: 1, 2
Verdict: WRONG ANSWER
| input | 
|---|
| 1000 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 7987 | 
| user output | 
|---|
| 1405835212744 | 
Test 29
Group: 2
Verdict: WRONG ANSWER
| input | 
|---|
| 200000 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 3137875 | 
| user output | 
|---|
| 282008851603712 | 
Test 30
Group: 1, 2
Verdict: WRONG ANSWER
| input | 
|---|
| 1000 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 4657693 | 
| user output | 
|---|
| 1405835939149 | 
Test 31
Group: 2
Verdict: WRONG ANSWER
| input | 
|---|
| 200000 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 1652889357 | 
| user output | 
|---|
| 282008995546633 | 
