$30
COMP 321: Programming Challenges
Assignment 2
This assignment includes two problems, one problem on kattis and one separate.
Please remember that the assignment must be solved individually. What I expect from
you is to upload the following in the “Assignment 2” folder:
1) The codes that you used for solving the problems. The files must be named
Problem_ IDi.extension, where ‘Problem’ is the problem ID, IDi is
your McGill id and ‘extension’ is the program extension (.java).
NOTE: Make sure to add comments to your code.
2) A .pdf file for kattis problems. This .pdf must be named Assignment2_IDi.pdf, where
IDi is your McGill id number. Inside the pdf file, include a screenshot of the acceptance
notification that you received on your Kattis account. Please make sure your name
appears in it.
The due date for this assignment is Sunday September 30th before 11:59 PM.
A. Kattis problems
For this assignment, we will solve the following problem on kattis:
1. Disastrous Downtime: https://open.kattis.com/problems/downtime
B. Separate problem
Problem: Vegetable Baskets
ProblemID: vbasket
Sami is the boss of a vegetables company (Sami Vegetables). He wants to introduce a
new product – vegetable baskets. They will contain all possible combinations of
vegetables to satisfy different customer needs, but at most one piece of each type of
vegetables. He doesn’t want to have small vegetable baskets, so all baskets must contain
at least 200 grams of vegetables.
You have tolerated his ideas before, but you can’t put up with this one. You realized that
the company might end up with 2
𝑁 − 1 different baskets, where 𝑁 is the number of types
of vegetables the company sells. You know that Sami will not understand this argument,
so you are going to convince him in a different way. You want to tell him the total weight
of vegetables of all possible baskets, to clarify that he will need a lot of trucks just to carry
them.
For simplicity, you assume that all vegetables of the same kind weigh the same. You also
know that all vegetables weigh at least 50 grams.
Input
The first line of input contains an integer 𝑁, 1 ≤ 𝑁 ≤ 40. The second line
contains 𝑁 integers – weights of available vegetables types in grams. All weights are
integers between 50 and 1000.
Output
Output one line with one integer – the total weight of all vegetables in the baskets that
have at least 200 grams of vegetables.
Sample Input 1
4
50 60 70 120
Sample Output 1
1020