CSES - Datatähti 2023 alku - Results
Submission details
Task:Sadonkorjuu
Sender:Zexee
Submission time:2022-11-11 19:45:34 +0200
Language:C++ (C++17)
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
Test results
testverdicttimegroup
#10.00 s1, 2details
#20.00 s1, 2details
#30.00 s1, 2details
#40.00 s1, 2details
#50.00 s1, 2details
#60.01 s1, 2details
#70.94 s2details
#80.01 s1, 2details
#90.87 s2details
#100.01 s1, 2details
#110.56 s2details
#12--2details
#130.55 s2details
#140.54 s2details
#150.01 s1, 2details
#160.01 s1, 2details
#170.01 s1, 2details
#180.01 s1, 2details
#190.01 s1, 2details
#200.01 s1, 2details
#210.59 s2details
#220.55 s2details
#230.56 s2details
#240.01 s1, 2details
#250.57 s2details
#260.01 s1, 2details
#270.56 s2details
#280.01 s1, 2details
#290.57 s2details
#300.01 s1, 2details
#310.58 s2details

Code

#include <bits/stdc++.h>

using namespace std;

vector<tuple<bool,long long>> farm;
vector<vector<tuple<int, int>>> routes;
vector<long long> bestList;

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=bestList[city];
	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);
		if(lenTo >= best) continue;
		best=min(best,lenTo);
		bestList[city]=best;
	}

	bestList[city]=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);
	bestList.resize(n+1,9999999999);
	for (int i=0;i<n-1;i++){
		int first, second, length;
		cin>>first>>second>>length;
		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++){
		long long dist=distance(i,0);
		get<1>(farm[i])=dist;
		sum+=dist;
		cout<<i<<" "<<dist<<endl;
	}
	cout<<sum;
}

Test details

Test 1

Group: 1, 2

Verdict:

input
1
0

correct output
0

user output
1 0
0

Test 2

Group: 1, 2

Verdict:

input
5
0 0 0 0 0
1 2 1
2 3 2
3 4 3
...

correct output
0

user output
1 0
2 0
3 0
4 0
5 0
...

Test 3

Group: 1, 2

Verdict:

input
4
1 0 1 1
1 2 10
2 3 20
2 4 30

correct output
60

user output
1 10
2 0
3 20
4 30
60

Test 4

Group: 1, 2

Verdict:

input
5
0 1 1 1 0
1 2 10
2 3 20
3 4 30
...

correct output
80

user output
1 0
2 10
3 30
4 40
5 0
...

Test 5

Group: 1, 2

Verdict:

input
5
0 1 0 1 1
1 2 1
2 3 5
3 4 3
...

correct output
6

user output
1 0
2 1
3 0
4 3
5 2
...

Test 6

Group: 1, 2

Verdict:

input
1000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
5506363

user output
1 3227
2 3855
3 3378
4 2173
5 3810
...
Truncated

Test 7

Group: 2

Verdict:

input
200000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
1795118520

user output
1 3092
2 2821
3 3243
4 3506
5 3552
...
Truncated

Test 8

Group: 1, 2

Verdict:

input
1000
0 0 1 0 1 1 0 1 0 1 1 0 0 0 1 ...

correct output
293576

user output
1 0
2 0
3 399
4 0
5 260
...
Truncated

Test 9

Group: 2

Verdict:

input
200000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
816932444

user output
1 893
2 1795
3 738
4 1370
5 703
...
Truncated

Test 10

Group: 1, 2

Verdict:

input
1000
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

correct output
3089

user output
1 0
2 0
3 0
4 0
5 0
...
Truncated

Test 11

Group: 2

Verdict:

input
200000
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

correct output
40839

user output
1 0
2 0
3 0
4 0
5 0
...
Truncated

Test 12

Group: 2

Verdict:

input
200000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
5683983203973

user output
(empty)

Test 13

Group: 2

Verdict:

input
200000
0 1 1 1 1 1 1 0 0 0 1 1 0 1 0 ...

correct output
58572993

user output
1 0
2 46
3 379
4 505
5 937
...
Truncated

Test 14

Group: 2

Verdict:

input
200000
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

correct output
32755

user output
1 0
2 0
3 0
4 0
5 0
...
Truncated

Test 15

Group: 1, 2

Verdict:

input
1000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
126238345

user output
1 237418
2 237022
3 236479
4 236119
5 235218
...
Truncated

Test 16

Group: 1, 2

Verdict:

input
1000
0 0 0 1 0 1 1 1 0 0 1 0 1 1 0 ...

correct output
278678

user output
1 0
2 0
3 0
4 688
5 0
...
Truncated

Test 17

Group: 1, 2

Verdict:

input
1000
1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 ...

correct output
34929

user output
1 444
2 0
3 0
4 0
5 635
...
Truncated

Test 18

Group: 1, 2

Verdict:

input
1000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
1543963

user output
1 1810
2 986
3 1652
4 308
5 213
...
Truncated

Test 19

Group: 1, 2

Verdict:

input
1000
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

correct output
39606

user output
1 0
2 0
3 0
4 0
5 0
...
Truncated

Test 20

Group: 1, 2

Verdict:

input
1000
1 0 1 0 1 0 0 0 0 1 1 0 0 0 1 ...

correct output
321598

user output
1 60
2 0
3 41
4 0
5 372
...
Truncated

Test 21

Group: 2

Verdict:

input
200000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
978670626

user output
1 3535
2 3799
3 3284
4 3340
5 3096
...
Truncated

Test 22

Group: 2

Verdict:

input
200000
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

correct output
375218

user output
1 0
2 0
3 0
4 0
5 0
...
Truncated

Test 23

Group: 2

Verdict:

input
200000
1 1 1 1 0 0 0 0 0 1 0 1 0 1 1 ...

correct output
60422556

user output
1 927
2 144
3 657
4 588
5 0
...
Truncated

Test 24

Group: 1, 2

Verdict:

input
1000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
291990

user output
1 3058
2 2412
3 2442
4 1817
5 1434
...
Truncated

Test 25

Group: 2

Verdict:

input
200000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
59607954

user output
1 4883
2 4098
3 4178
4 3520
5 3956
...
Truncated

Test 26

Group: 1, 2

Verdict:

input
1000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
990

user output
1 8
2 8
3 7
4 7
5 7
...
Truncated

Test 27

Group: 2

Verdict:

input
200000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
199982

user output
1 16
2 16
3 15
4 15
5 15
...
Truncated

Test 28

Group: 1, 2

Verdict:

input
1000
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
7987

user output
1 0
2 1
3 1
4 2
5 2
...
Truncated

Test 29

Group: 2

Verdict:

input
200000
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
3137875

user output
1 0
2 1
3 1
4 2
5 2
...
Truncated

Test 30

Group: 1, 2

Verdict:

input
1000
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
4657693

user output
1 0
2 583
3 950
4 795
5 1471
...
Truncated

Test 31

Group: 2

Verdict:

input
200000
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
1652889357

user output
1 0
2 857
3 730
4 1164
5 1275
...
Truncated