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 BR 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

x
+
cmd
111 37
1 10

Output

x
+
cmd
141

#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

x
+
cmd
111 37
1 10

Output

x
+
cmd
141

#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

x
+
cmd
111 37
1 10

Output

x
+
cmd
141
Advertisements

Demonstration


Previous
#2376 Beecrowd Online Judge Solution 2376 Copa do Mundo Solution in C, C++, Java, Js and Python
Next
#2378 Beecrowd Online Judge Solution 2378 Elevator Solution in C, C++, Java, Js and Python