Plano de internet

Plano de internet

The mission is in Blocked Mode. Access to the solutions is blocked for a day or two (even after you share your own), until we'll have enough solutions for you to check. All users who've solved the mission will get the notifications about their opening.

Retirado da OBI Nível Júnior de 2021

Verificação de Aprendizagem: Avalie sua compreensão. Tente resolver sem consultar materiais, usando apenas seu conhecimento. Identifique áreas que precisam de revisão.

Enunciado

João conseguiu contratar um ótimo plano de Internet para o seu telefone celular. O plano permite que João utilize uma quota de até X megabytes de dados por mês para navegar na Internet. Se João não usa toda a sua quota no mês, os megabytes que ele não usou são adicionados à quota do mês seguinte. Pelo contrato, João nunca pode usar mais megabytes do que a sua quota corrente. Por exemplo, se X=200 megabytes e João usou 150 no primeiro mês e 220 megabytes no segundo mês, então no terceiro mês João tem uma quota de 230 megabytes para usar (50 megabytes são transferidos do primeiro para o segundo mês, 30 megabytes são transferidos do segundo para o terceiro mês). Nesta tarefa são dados o valor da quota mensal X e quantos megabytes João usou em cada um dos primeiros N meses do plano. Você deve determinar quantos megabytes João tem para usar no mês N+1.

Entrada: A primeira linha da entrada contém um número inteiro X, o valor da cota mensal em megabytes. A segunda linha contém um inteiro N, o número de meses. Cada um dos elementos da lista uso_mensal contém um número inteiro M_i, indicando a quantidade de megabytes que João usou em cada mês, do mês 1 até o mês N.

Saída: Seu programa deve produzir uma única linha, contendo um único número inteiro, a quantidade de megabytes que João tem para usar no mês N+1.

Exemplo:

cota_megabytes(200, 2, [150, 220]) == 230
cota_megabytes(100, 3, [50, 80, 30]) == 240
cota_megabytes(150, 1, [120]) == 180

Habilidades

  • Controle de Fluxo e Iteração
  • Lógica de Condições e Decisões
  • Acumulação de Valores