Algorithm
Problem Name: beecrowd | 3209
Problem Link: https://www.beecrowd.com.br/judge/en/problems/view/3209
Electrical Outlets
By Mats Petter Pettersson Iceland
Timelimit: 1
Roy has just moved into a new apartment. Well, actually the apartment itself is not very new, even dating back to the days before people had electricity in their houses. Because of this, Roy’s apartment has only one single wall outlet, so Roy can only power one of his electrical appliances at a time.
Roy likes to watch TV as he works on his computer, and to listen to his HiFi system (on high volume) while he vacuums, so using just the single outlet is not an option. Actually, he wants to have all his appliances connected to a powered outlet, all the time. The answer, of course, is power strips, and Roy has some old ones that he used in his old apartment. However, that apartment had many more wall outlets, so he is not sure whether his power strips will provide him with enough outlets now.
Your task is to help Roy compute how many appliances he can provide with electricity, given a set of power strips. Note that without any power strips, Roy can power one single appliance through the wall outlet. Also, remember that a power strip has to be powered itself to be of any use.
Input
Input vill start with a single integer 1 ≤ N ≤ 20, indicating the number of test cases to follow. Then follow N lines, each describing a test case. Each test case starts with an integer 1 ≤ K ≤ 10, indicating the number of power strips in the test case. Then follow, on the same line, K integers separated by single spaces, O1 O2 ... OK , where 2 ≤ Oi ≤ 10, indicating the number of outlets in each power strip.
Output
Output one line per test case, with the maximum number of appliances that can be powered.
Input Sample | Output Sample |
3 |
7 |
Code Examples
#1 Code Example with Javascript Programming
Code -
Javascript Programming
const { readFileSync } = require("node:fs")
const input = readFileSync("/dev/stdin", "utf8")
.split(/\s+/, 1 + 20 * 11)
.map(value => Number.parseInt(value, 10))
function main() {
const output = []
const N = input.shift()
for (let i = 0; i < N; i++) {
const K = input.shift()
const avaliablePlugsQuantity = input
.splice(0, K)
.reduce((total, plug) => total + plug, 1 - K)
output.push(avaliablePlugsQuantity)
}
console.log(output.join("\n"))
}
main()
Copy The Code &
Try With Live Editor
Input
Output
#2 Code Example with Javascript Programming
Code -
Javascript Programming
var input = require('fs').readFileSync('/dev/stdin', 'utf8');
var lines = input.split('\n');
var prompt = function(texto){ return lines.shift(); };
const test = parseInt(prompt("casos de test"));
for (let i = 0; i < test; i++) {
let tomadas = prompt("linhas").split(" ").map(Number);
let lines = tomadas.shift(), soma = 0;
for (let i = 0; i < tomadas.length; i++) {
soma += tomadas[i];
}
soma = soma - (lines - 1)
console.log(soma);
}
Copy The Code &
Try With Live Editor
Input
Output
#3 Code Example with Python Programming
Code -
Python Programming
for i in range(int(input())):
x=list(map(int,input().split()))
z=x.pop(0)
print(sum(x)-z+1)
Copy The Code &
Try With Live Editor
Input
Output