CSES - Datatähti 2020 alku - Results
Submission details
Task:Mastot
Sender:caro
Submission time:2019-10-02 15:58:33 +0300
Language:C++11
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#10.01 s1, 2, 3details
#2--1, 2, 3details
#30.01 s1, 2, 3details
#4--1, 2, 3details
#5--1, 2, 3details
#60.01 s1, 2, 3details
#70.01 s1, 2, 3details
#80.01 s1, 2, 3details
#90.01 s1, 2, 3details
#100.01 s1, 2, 3details
#110.01 s1, 2, 3details
#120.01 s1, 2, 3details
#130.01 s1, 2, 3details
#140.01 s1, 2, 3details
#150.01 s1, 2, 3details
#160.01 s1, 2, 3details
#170.01 s1, 2, 3details
#180.01 s1, 2, 3details
#190.01 s1, 2, 3details
#200.01 s1, 2, 3details
#210.01 s2, 3details
#220.01 s2, 3details
#230.01 s2, 3details
#240.01 s2, 3details
#250.01 s2, 3details
#260.01 s2, 3details
#270.01 s2, 3details
#280.01 s2, 3details
#290.01 s2, 3details
#300.01 s2, 3details
#310.01 s2, 3details
#320.01 s2, 3details
#330.01 s2, 3details
#340.14 s3details
#350.17 s3details
#36--3details
#370.17 s3details
#380.15 s3details
#390.14 s3details
#400.13 s3details
#410.16 s3details
#42--3details
#43--3details
#440.16 s3details
#45--3details
#46--3details

Code

#include <bits/stdc++.h>

using namespace std;

typedef unsigned int uint;
typedef long long ll;

typedef struct{
	uint strength;
	uint cost;
} pole_s;

int main(){
	uint d;
	uint transmitter;
	cin >> d;
	cin >> transmitter;
	pole_s *poles = (pole_s*) malloc(sizeof(pole_s) * (d - 1));
	for(uint i = 0; i < d - 1; i++) 
		cin >> poles[i].strength;
	for(uint i = 0; i < d - 1; i++) 
		cin >> poles[i].cost;

	for(uint i = 0; i < d - 1; i++) {
		printf("%d %d \n", poles[i].strength, poles[i].cost);
	}

	uint totalCoverage = transmitter;
	uint totalCost = 0;
	while(1){
		if(totalCoverage >= d) break;

		uint best = 0;
		ll bestCompare = -999999999999;
		for(uint i = 0; i < d - 1; i++) {
			ll min = (ll)i - (ll)poles[i].strength + 1LL;
			ll max = (ll)i + (ll)poles[i].strength + 1LL;
			if(min > totalCoverage) break;

			ll compare = max - totalCoverage - poles[i].cost;
			if(compare >= bestCompare) {
				best = i;
				bestCompare = compare;
			}
		}

		totalCost = poles[best].cost;
		totalCoverage += bestCompare;
	}

	cout << totalCost;
}

Test details

Test 1

Group: 1, 2, 3

Verdict:

input
6
2 2 3 1 2 4
4 1 3 4 2

correct output
3

user output
2 4 
3 1 
1 3 
2 4 
4 2 
...

Test 2

Group: 1, 2, 3

Verdict:

input
2
1 1
1

correct output
1

user output
(empty)

Test 3

Group: 1, 2, 3

Verdict:

input
2
2 1
1

correct output
0

user output
1 1 
0

Test 4

Group: 1, 2, 3

Verdict:

input
3
2 2 1
1 2

correct output
1

user output
(empty)

Test 5

Group: 1, 2, 3

Verdict:

input
3
2 2 1
2 1

correct output
1

user output
(empty)

Test 6

Group: 1, 2, 3

Verdict:

input
4
1 1 1 1
1000000000 1000000000 10000000...

correct output
3000000000

user output
1 1000000000 
1 1000000000 
1 1000000000 
1000000000

Test 7

Group: 1, 2, 3

Verdict:

input
20
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
19000000000

user output
1 1000000000 
1 1000000000 
1 1000000000 
1 1000000000 
1 1000000000 
...

Test 8

Group: 1, 2, 3

Verdict:

input
20
1 1 2 1 1 1 2 1 1 2 1 1 1 2 1 ...

correct output
4609157377

user output
1 98232041 
2 71742002 
1 2114061 
1 879039873 
1 70530557 
...

Test 9

Group: 1, 2, 3

Verdict:

input
20
20 20 20 20 20 20 20 20 20 20 ...

correct output
0

user output
20 189186849 
20 813570765 
20 81409328 
20 260519941 
20 446825005 
...

Test 10

Group: 1, 2, 3

Verdict:

input
19
16 10 9 17 1 16 19 4 18 13 5 3...

correct output
8424700

user output
10 976844946 
9 374513010 
17 821412157 
1 702729061 
16 371852529 
...

Test 11

Group: 1, 2, 3

Verdict:

input
20
2 4 3 4 4 4 4 1 1 3 4 2 1 3 3 ...

correct output
2817777553

user output
4 688885052 
3 444578348 
4 611805688 
4 286654270 
4 308261706 
...

Test 12

Group: 1, 2, 3

Verdict:

input
20
4 4 4 4 3 4 1 3 4 1 1 4 1 3 1 ...

correct output
3020673750

user output
4 137837558 
4 731846360 
4 976959108 
3 651465078 
4 831439404 
...

Test 13

Group: 1, 2, 3

Verdict:

input
20
5 1 3 4 2 4 2 2 5 1 3 3 2 4 1 ...

correct output
2064735712

user output
1 484211558 
3 780739624 
4 639006701 
2 710557212 
4 57288432 
...

Test 14

Group: 1, 2, 3

Verdict:

input
20
8 1 2 6 8 6 9 1 4 9 9 8 6 3 3 ...

correct output
378551508

user output
1 33836017 
2 859123949 
6 391289896 
8 126053499 
6 574634997 
...

Test 15

Group: 1, 2, 3

Verdict:

input
20
5 2 8 9 4 10 1 8 9 9 8 1 7 8 9...

correct output
457149308

user output
2 917321767 
8 131054101 
9 538299695 
4 714492594 
10 319965000 
...

Test 16

Group: 1, 2, 3

Verdict:

input
20
7 6 2 6 1 3 10 4 6 3 5 2 2 10 ...

correct output
471575451

user output
6 961148274 
2 483265262 
6 936139795 
1 838006990 
3 293231700 
...

Test 17

Group: 1, 2, 3

Verdict:

input
20
6 2 2 3 8 7 2 10 8 9 6 3 10 5 ...

correct output
620685913

user output
2 426826514 
2 677063433 
3 412284028 
8 633553363 
7 471284835 
...

Test 18

Group: 1, 2, 3

Verdict:

input
20
4 5 3 8 2 8 5 9 6 3 7 5 1 6 9 ...

correct output
1132427688

user output
5 5725847 
3 900727451 
8 476135488 
2 586364100 
8 972647812 
...

Test 19

Group: 1, 2, 3

Verdict:

input
20
15 9 7 18 3 20 19 20 17 16 16 ...

correct output
333300698

user output
9 746930238 
7 144581514 
18 709971505 
3 873129178 
20 342154223 
...

Test 20

Group: 1, 2, 3

Verdict:

input
20
19 18 17 16 15 14 13 12 11 10 ...

correct output
660514815

user output
18 882740707 
17 677925644 
16 93987378 
15 104089693 
14 507533083 
...

Test 21

Group: 2, 3

Verdict:

input
5000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
4999000000000

user output
1 1000000000 
1 1000000000 
1 1000000000 
1 1000000000 
1 1000000000 
...

Test 22

Group: 2, 3

Verdict:

input
5000
5000 5000 5000 5000 5000 5000 ...

correct output
0

user output
5000 999875678 
5000 403812298 
5000 902290646 
5000 718729728 
5000 730162197 
...

Test 23

Group: 2, 3

Verdict:

input
5000
4999 4998 4997 4996 4995 4994 ...

correct output
576616581

user output
4998 797532424 
4997 93089564 
4996 557798837 
4995 150076194 
4994 549637804 
...

Test 24

Group: 2, 3

Verdict:

input
5000
3343 3711 2568 137 2621 3850 4...

correct output
671570

user output
3711 448787368 
2568 883649995 
137 122199850 
2621 724463877 
3850 339738585 
...

Test 25

Group: 2, 3

Verdict:

input
5000
119 203 420 133 175 334 461 10...

correct output
85700253

user output
203 946536749 
420 203197041 
133 876020426 
175 653578535 
334 645342600 
...

Test 26

Group: 2, 3

Verdict:

input
5000
8 6 2 1 4 5 7 3 4 2 1 10 3 6 6...

correct output
193210576015

user output
6 702618353 
2 637498646 
1 210952769 
4 847650154 
5 167690561 
...

Test 27

Group: 2, 3

Verdict:

input
5000
1 2 1 2 2 1 2 2 1 1 1 2 1 2 2 ...

correct output
1576581428593

user output
2 275988115 
1 35891452 
2 484474923 
2 977899815 
1 951757367 
...

Test 28

Group: 2, 3

Verdict:

input
5000
300 1937 2136 770 429 2388 197...

correct output
3584707

user output
1937 724894333 
2136 533610968 
770 564319963 
429 678240176 
2388 48741409 
...

Test 29

Group: 2, 3

Verdict:

input
5000
949 46 29 2237 2413 36 42 1162...

correct output
3210354

user output
46 492799602 
29 773001701 
2237 2108423 
2413 840707161 
36 496878534 
...

Test 30

Group: 2, 3

Verdict:

input
5000
1557 1727 1787 360 1698 2423 1...

correct output
3177107

user output
1727 783514372 
1787 862678667 
360 704907116 
1698 997333386 
2423 753702843 
...

Test 31

Group: 2, 3

Verdict:

input
5000
484 1991 2309 1326 1901 2426 8...

correct output
4863018

user output
1991 33104557 
2309 862382432 
1326 842283427 
1901 373188598 
2426 610923226 
...

Test 32

Group: 2, 3

Verdict:

input
5000
1833 459 1994 2050 272 31 708 ...

correct output
2876923

user output
459 553801511 
1994 54772403 
2050 972242673 
272 126546723 
31 65128634 
...

Test 33

Group: 2, 3

Verdict:

input
4999
530 2248 1916 859 2394 1403 24...

correct output
5194452

user output
2248 344922675 
1916 595346172 
859 207496657 
2394 393380857 
1403 991435989 
...

Test 34

Group: 3

Verdict:

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

correct output
199999000000000

user output
1 1000000000 
1 1000000000 
1 1000000000 
1 1000000000 
1 1000000000 
...

Test 35

Group: 3

Verdict:

input
200000
200000 200000 200000 200000 20...

correct output
0

user output
200000 89805939 
200000 644869071 
200000 288436551 
200000 85852572 
200000 225652268 
...

Test 36

Group: 3

Verdict:

input
200000
199999 199998 199997 199996 19...

correct output
819945000

user output
(empty)

Test 37

Group: 3

Verdict:

input
200000
9036 179861 197509 187949 9444...

correct output
59563

user output
179861 69470996 
197509 46321343 
187949 478226162 
9444 879666302 
90021 290450981 
...

Test 38

Group: 3

Verdict:

input
200000
357 1516 141 399 860 1591 544 ...

correct output
247414000

user output
1516 818152952 
141 97088603 
399 199754808 
860 514217598 
1591 467890088 
...

Test 39

Group: 3

Verdict:

input
200000
10 4 1 7 1 8 8 4 8 2 2 4 2 4 8...

correct output
7789595210075

user output
4 308122294 
1 615677948 
7 509724448 
1 789929097 
8 145716073 
...

Test 40

Group: 3

Verdict:

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

correct output
62777824801872

user output
2 210565005 
1 336531802 
1 484970868 
1 469910351 
1 301870439 
...

Test 41

Group: 3

Verdict:

input
200000
9473 42975 69773 60909 9354 20...

correct output
76814

user output
42975 328673376 
69773 745728388 
60909 521500851 
9354 137973706 
20484 454832923 
...

Test 42

Group: 3

Verdict:

input
200000
31087 18493 14158 65333 95850 ...

correct output
180614

user output
(empty)

Test 43

Group: 3

Verdict:

input
200000
66563 17340 2293 5101 35636 96...

correct output
56642

user output
(empty)

Test 44

Group: 3

Verdict:

input
200000
4005 35201 22254 56956 49098 7...

correct output
287201

user output
35201 356876472 
22254 428142696 
56956 73415071 
49098 733734474 
78313 779155725 
...

Test 45

Group: 3

Verdict:

input
200000
99266 91407 53419 70750 93505 ...

correct output
54045

user output
(empty)

Test 46

Group: 3

Verdict:

input
199999
23098 95019 27998 22880 40713 ...

correct output
184595

user output
(empty)