| Task: | Sadonkorjuu | 
| Sender: | Laserr | 
| Submission time: | 2022-11-11 19:59:25 +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 | WRONG ANSWER | 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.00 s | 1, 2 | details | 
| #5 | WRONG ANSWER | 0.00 s | 1, 2 | details | 
| #6 | WRONG ANSWER | 0.14 s | 1, 2 | details | 
| #7 | TIME LIMIT EXCEEDED | -- | 2 | details | 
| #8 | WRONG ANSWER | 0.14 s | 1, 2 | details | 
| #9 | TIME LIMIT EXCEEDED | -- | 2 | details | 
| #10 | WRONG ANSWER | 0.14 s | 1, 2 | details | 
| #11 | TIME LIMIT EXCEEDED | -- | 2 | details | 
| #12 | RUNTIME ERROR | 0.75 s | 2 | details | 
| #13 | RUNTIME ERROR | 0.76 s | 2 | details | 
| #14 | RUNTIME ERROR | 0.76 s | 2 | details | 
| #15 | WRONG ANSWER | 0.16 s | 1, 2 | details | 
| #16 | WRONG ANSWER | 0.16 s | 1, 2 | details | 
| #17 | WRONG ANSWER | 0.16 s | 1, 2 | details | 
| #18 | WRONG ANSWER | 0.11 s | 1, 2 | details | 
| #19 | WRONG ANSWER | 0.11 s | 1, 2 | details | 
| #20 | WRONG ANSWER | 0.11 s | 1, 2 | details | 
| #21 | TIME LIMIT EXCEEDED | -- | 2 | details | 
| #22 | TIME LIMIT EXCEEDED | -- | 2 | details | 
| #23 | TIME LIMIT EXCEEDED | -- | 2 | details | 
| #24 | WRONG ANSWER | 0.11 s | 1, 2 | details | 
| #25 | TIME LIMIT EXCEEDED | -- | 2 | details | 
| #26 | WRONG ANSWER | 0.11 s | 1, 2 | details | 
| #27 | TIME LIMIT EXCEEDED | -- | 2 | details | 
| #28 | WRONG ANSWER | 0.11 s | 1, 2 | details | 
| #29 | TIME LIMIT EXCEEDED | -- | 2 | details | 
| #30 | WRONG ANSWER | 0.11 s | 1, 2 | details | 
| #31 | TIME LIMIT EXCEEDED | -- | 2 | details | 
Compiler report
input/code.cpp: In function 'std::vector<kaupunki> haku(long long int, long long int, std::vector<kaupunki>, long long int)':
input/code.cpp:21:41: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   21 |                 for (long long j = 0; j < vk[i].tiet.size(); j++) {
      |                                       ~~^~~~~~~~~~~~~~~~~~~Code
#include<iostream>
#include<vector>
using namespace std;
struct kaupunki {
	long long onko_kaupunki, lk;
	vector<pair<long long, long long>> tiet;
	kaupunki(long long k) {
		onko_kaupunki = k;
		if (onko_kaupunki == 0) lk = 0;
		else lk = -1;
	}
};
vector<kaupunki> haku(long long i, long long e, vector<kaupunki>vk, long long b) {
	if (e >= 0 && (e < vk[i].lk || vk[i].lk == -1)) vk[i].lk = e;
	if (vk[i].tiet.size() > 0) {
		for (long long j = 0; j < vk[i].tiet.size(); j++) {
			if (vk[i].tiet[j].first == b + 1) continue;
			long long lahete = 0;
			if (vk[i].lk == -1) lahete = -1;
			else lahete = vk[i].tiet[j].second + vk[i].lk;
			vk = haku(vk[i].tiet[j].first - 1, lahete, vk, i);
			if ((vk[i].tiet[j].second + vk[vk[i].tiet[j].first - 1].lk < vk[i].lk || vk[i].lk == -1) && 0 <= vk[vk[i].tiet[j].first - 1].lk) {
				vk[i].lk = vk[i].tiet[j].second + vk[vk[i].tiet[j].first - 1].lk;
			}
		}
	}
	cout << i + 1 << " " << vk[i].lk << "\n";
	return vk;
}
vector<kaupunki> haku2(long long i, long long e, vector<kaupunki>vk, long long b) {
	if (e >= 0 && (e < vk[i].lk || vk[i].lk == -1)) vk[i].lk = e;
	if (vk[i].tiet.size() > 0) {
		for (long long j = vk[i].tiet.size() - 1; j >= 0; j--) {
			if (vk[i].tiet[j].first == b + 1) continue;
			long long lahete = 0;
			if (vk[i].lk == -1) lahete = -1;
			else lahete = vk[i].tiet[j].second + vk[i].lk;
			vk = haku2(vk[i].tiet[j].first - 1, lahete, vk, i);
			if ((vk[i].tiet[j].second + vk[vk[i].tiet[j].first - 1].lk < vk[i].lk || vk[i].lk == -1) && 0 <= vk[vk[i].tiet[j].first - 1].lk) {
				vk[i].lk = vk[i].tiet[j].second + vk[vk[i].tiet[j].first - 1].lk;
			}
		}
	}
	cout << i + 1 << " " << vk[i].lk << "\n";
	return vk;
}
int main() {
	long long n;
	cin >> n;
	long long vastaus = 0;
	vector<kaupunki> vk;
	for (long long i = 0; i < n; i++) {
		long long t;
		cin >> t;
		vk.push_back(kaupunki(t));
	}
	for (long long i = 0; i < n - 1; i++) {
		long long a, b, c;
		cin >> a >> b >> c;
		vk[a - 1].tiet.push_back({ b,c });
		vk[b - 1].tiet.push_back({ a,c });
	}
	cout << "\n";
	vk = haku(0, -1, vk, -1);
	cout << "\n";
	vk = haku2(0, -1, vk, -1);
	cout << "\n";
	for (int i = 0; i < n; i++) {
		cout << i + 1 << " " << vk[i].lk << "\n";
	}
	for (kaupunki i : vk) vastaus += i.lk;
	cout << vastaus;
}Test details
Test 1
Group: 1, 2
Verdict: WRONG ANSWER
| input | 
|---|
| 1 0  | 
| correct output | 
|---|
| 0 | 
| user output | 
|---|
1 0 1 0 ...  | 
Test 2
Group: 1, 2
Verdict: WRONG ANSWER
| input | 
|---|
| 5 0 0 0 0 0 1 2 1 2 3 2 3 4 3 ...  | 
| correct output | 
|---|
| 0 | 
| user output | 
|---|
5 0 4 0 3 0 2 0 ...  | 
Test 3
Group: 1, 2
Verdict: WRONG ANSWER
| input | 
|---|
| 4 1 0 1 1 1 2 10 2 3 20 2 4 30  | 
| correct output | 
|---|
| 60 | 
| user output | 
|---|
3 20 4 30 2 0 1 10 ...  | 
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 | 
|---|
5 0 4 40 3 30 2 10 ...  | 
Test 5
Group: 1, 2
Verdict: WRONG ANSWER
| input | 
|---|
| 5 0 1 0 1 1 1 2 1 2 3 5 3 4 3 ...  | 
| correct output | 
|---|
| 6 | 
| user output | 
|---|
4 3 5 2 3 0 2 1 ...  | 
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 | 
|---|
112 -1 727 -1 27 -1 731 -1 ... Truncated  | 
Test 7
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 200000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 1795118520 | 
| user output | 
|---|
| (empty) | 
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 | 
|---|
916 0 459 0 793 0 41 368 ... Truncated  | 
Test 9
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 200000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 816932444 | 
| user output | 
|---|
| (empty) | 
Test 10
Group: 1, 2
Verdict: WRONG ANSWER
| input | 
|---|
| 1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...  | 
| correct output | 
|---|
| 3089 | 
| user output | 
|---|
590 0 847 0 688 0 347 0 ... Truncated  | 
Test 11
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 200000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...  | 
| correct output | 
|---|
| 40839 | 
| user output | 
|---|
| (empty) | 
Test 12
Group: 2
Verdict: RUNTIME ERROR
| 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: RUNTIME ERROR
| input | 
|---|
| 200000 0 1 1 1 1 1 1 0 0 0 1 1 0 1 0 ...  | 
| correct output | 
|---|
| 58572993 | 
| user output | 
|---|
| (empty) | 
Test 14
Group: 2
Verdict: RUNTIME ERROR
| input | 
|---|
| 200000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...  | 
| correct output | 
|---|
| 32755 | 
| user output | 
|---|
| (empty) | 
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 | 
|---|
1000 265337 999 264790 998 264565 997 264445 ... Truncated  | 
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 | 
|---|
1000 887 999 64 998 0 997 0 ... Truncated  | 
Test 17
Group: 1, 2
Verdict: WRONG ANSWER
| input | 
|---|
| 1000 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 ...  | 
| correct output | 
|---|
| 34929 | 
| user output | 
|---|
1000 0 999 0 998 65 997 0 ... Truncated  | 
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 | 
|---|
512 -1 513 -1 256 -1 514 -1 ... Truncated  | 
Test 19
Group: 1, 2
Verdict: WRONG ANSWER
| input | 
|---|
| 1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...  | 
| correct output | 
|---|
| 39606 | 
| user output | 
|---|
512 0 513 0 256 0 514 0 ... Truncated  | 
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 | 
|---|
512 3281 513 0 256 479 514 0 ... Truncated  | 
Test 21
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 200000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 978670626 | 
| user output | 
|---|
| (empty) | 
Test 22
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 200000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...  | 
| correct output | 
|---|
| 375218 | 
| user output | 
|---|
| (empty) | 
Test 23
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 200000 1 1 1 1 0 0 0 0 0 1 0 1 0 1 1 ...  | 
| correct output | 
|---|
| 60422556 | 
| user output | 
|---|
| (empty) | 
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 | 
|---|
512 0 513 0 256 399 514 0 ... Truncated  | 
Test 25
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 200000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 59607954 | 
| user output | 
|---|
| (empty) | 
Test 26
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 | 
|---|
| 990 | 
| user output | 
|---|
512 0 513 0 256 1 514 0 ... Truncated  | 
Test 27
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 200000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 199982 | 
| user output | 
|---|
| (empty) | 
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 | 
|---|
512 9 513 9 256 8 514 9 ... Truncated  | 
Test 29
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 200000 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 3137875 | 
| user output | 
|---|
| (empty) | 
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 | 
|---|
512 4685 513 4377 256 4135 514 4986 ... Truncated  | 
Test 31
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 200000 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 1652889357 | 
| user output | 
|---|
| (empty) | 
