Problem Link:Author: Hasan Jaddouh Difficulty:cakewalk Prerequisites:none Problem Statement:Given a list internet speed during different times, the internet service provider charges 1 dollar per 1 MB downloaded, except for the first K minutes it was free, calculate the total cost that should be paid. ExplanationWe will describe the logic of the solution and the implementation details will be in C++ One input file contains multiple testcases, we should process each testcase alone, so first thing we need a variable to read the number of testcases then we make a loop to iterator over testcases, inside it we will solve the problem for a single testcase, it's fine to output the result of one testcase before reading the rest of testcases. so far our code should look like this:
for single testcase, we should read N and K, so we need two variables for them we also need a variable to store the answer (Let's name it sol) initially it has value 0. after that we should a make a loop to iterate over lists of durations and speeds, in every step in this loop we should read the duration and speed so we also need variables for them, thus so far our code is like this:
Now, let's use the variable K as how much time remaining for free period so if T is less than K then the whole T duration will be free but K should decrease by T, otherwise if T is greater or equal to K then only first K minutes will be free so we will pay for the rest (TK) minutes and the amount to pay will be (TK)*D so we increase sol by it, after that we should decrease K to 0 because free period is ended by the end of the loop we just output sol, so the full solution is:
Author's and Tester's Solutions
This question is marked "community wiki".
asked 20 Feb '17, 14:06

answered 20 Feb '17, 20:00

This is my solution from Python answered 05 Dec '17, 22:43
