## CCC '21 S1 - Crazy Fencing

View as PDF

Points: 5 (partial)
Time limit: 1.0s
Memory limit: 1G

Problem type
##### Canadian Computing Competition: 2021 Stage 1, Senior #1

You need to paint a wooden fence between your house and your neighbour's house. You want to determine the area of the fence, in order to determine how much paint you will use. However, the fence is made out of non-uniform pieces of wood, and your neighbour believes that they have an artistic flair. In particular, the pieces of wood may be of various widths. The bottom of each piece of wood will be horizontal, both sides will be vertical, but its top may be cut on an angle. Two such pieces of wood are shown below:

Thankfully, the fence has been constructed so that adjacent pieces of wood have the same height on the sides where they touch, which makes the fence more visually appealing.

#### Input Specification

The first line of the input will be a positive integer , where .

The second line of input will contain space-separated integers describing the left and right heights of each piece of wood. Specifically, the left height of the piece of wood is and the right height of the piece of wood is .

The third line of input will contain space-separated integers describing the width of the piece of wood.

#### Output Specification

Output the total area of the fence. If the correct answer is , the grader will view correct if .

#### Sample Input 1

3
2 3 6 2
4 1 1

#### Output for Sample Input 1

18.5

#### Explanation of Output for Sample Input 1

The fence looks like the following:

When looking from left to right, the individual areas of the pieces of wood are , , and , for a total area of .

#### Sample Input 2

4
6 4 9 7 3
5 2 4 1

#### Output for Sample Input 2

75

#### Explanation of Output for Sample Input 2

The fence looks like the following:

When looking from left to right, the individual areas of the pieces of wood are , , , and , for a total area of .

• commented on Aug. 3, 2022, 9:47 p.m.

Why doesn't my solution work on test #6? https://dmoj.ca/src/4746796

• commented on Feb. 21, 2022, 7:15 a.m. edit 4

I have run the 'best' Python 3 solution (ID: 4226630, Jan. 20, 2022) for sample 2 and the output is 75.0 (float), not the int (75) as shown in the sample 2 output...How come?

• commented on Feb. 21, 2022, 11:33 a.m.

an int output is not required

• commented on Feb. 21, 2022, 11:56 a.m.

Apparently the tests do not validate that then.

• commented on May 25, 2021, 1:31 p.m. edited

I actually found the solution and anyone who will code this in c++ will probably also need it.

cout << area;


do this...

cout << fixed << area;


The fixed function will keep it from turning into scientific notation: 5.789E13

• commented on Aug. 12, 2022, 2:05 p.m. edited

Also, setprecision in C++ allows you to choose how many decimal places you want in the float/double output.

• commented on July 22, 2021, 6:57 p.m. edited

I think printf("%.1f", area); also works :)

• commented on June 27, 2021, 6:25 p.m.

Saved me from hours of malding o7

• commented on May 30, 2021, 1:59 p.m.

Dude this really helped out a lot!!

• commented on May 25, 2021, 4:25 p.m.

ORRRZZZZZ HOPE

• commented on May 25, 2021, 1:12 p.m. edited

I'm very confused right now. My code easily passes all the test cases but can't do #7 or #8. I converted my double to long double to fix it, but it hasn't at all. If it's not that, is doing it in time, and seems to work for every other question, why is it not working for this one?

• commented on Oct. 10, 2021, 12:13 a.m. edit 2

eh, i change cout.precision(10) and used long double, its unecessary but it passed ok.