Algorithm
Problem Name: 2 AD-HOC - beecrowd | 2377
Problem Link: https://www.beecrowd.com.br/judge/en/problems/view/2377
Pedágio
Por OBI - Olimpíada Brasileira de Informática 2010 Brazil
Timelimit: 1
A invenção do carro tornou muito mais rápido e mais barato realizar viagens de longa distância. Realizar uma viagem rodoviária tem dois tipos de custos: cada quilômetro percorrido na rodovia tem um custo associado (não só devido ao consumo de combustível mas também devido ao desgaste das peças do carro, pneus, etc.), mas também é necessário passar por vários pedágios localizados ao longo da rodovia.
Os pedágios são igualmente espaçados ao logo da rodovia; o começo da estrada não possui um pedágio, mas o seu final pode estar logo após um pedágio (por exemplo, se a distância entre dois pedágios consecutivos for de 37 km e a estrada tiver 111 km, o motorista deve pagar um pedágio aos 37 km, aos 74 km e aos 111 km, logo antes de terminar a sua viagem).
Dadas as características da rodovia e os custos com gasolina e com pedágios, calcule o custo total da viagem.
Entrada
A entrada consiste de duas linhas. A primeira linha da entrada contém dois inteiros L e D (1 ≤ L, D ≤ 104), indicando o comprimento da estrada e a distância entre pedágios, respectivamente. A segunda linha contém dois inteiros K e P (1 ≤ K, P ≤ 104 ), indicando o custo por quilômetro percorrido e o valor de cada pedágio. O primeiro pedágio está localizado no quilômetro D da estrada (ou seja, a distância do início da estrada para o primeiro pedágio é D quilômetros).
Saída
Seu programa deve imprimir uma única linha contendo um único inteiro, indicando o custo total da viagem.
Exemplos de Entrada | Exemplos de Saída |
111 37 1 10 |
141 |
Code Examples
#1 Code Example with C Programming
Code -
C Programming
#include <stdio.h>
int main (void)
{
unsigned short comprimento, distPedagios;
unsigned short custoKm, custoPedagio;
scanf("%hu %hu", &comprimento, &distPedagios);
scanf("%hu %hu", &custoKm, &custoPedagio);
printf("%u\n", (comprimento * custoKm) + ((comprimento / distPedagios) * custoPedagio));
}
Copy The Code &
Try With Live Editor
Input
1 10
Output
#2 Code Example with C++ Programming
Code -
C++ Programming
#include <cstdio>
int main() {
int a, b, c, d;
scanf("%d %d", &a, &b);
scanf("%d %d", &c, &d);
printf("%d\n", ((a / b) * d) + a * c);
return 0;
}
Copy The Code &
Try With Live Editor
Input
1 10
Output
#3 Code Example with Javascript Programming
Code -
Javascript Programming
const { readFileSync } = require("fs")
const [L, D, K, P] = readFileSync("/dev/stdin", "utf8")
.split(/\s+/g, 4)
.map(value => Number.parseInt(value, 10))
console.log((L * K) + P * Math.floor(L / D))
Copy The Code &
Try With Live Editor
Input
1 10
Output