ProgIng - Programación en Ingeniería
Loading...
Searching...
No Matches
Ejemplo003.c
Go to the documentation of this file.
1
43
44
#include <stdio.h>
45
52
int
main
(
int
argc,
char
*argv[])
53
{
54
(void)argc;
55
(void)argv;
56
57
/*
58
VARIABLES (según como ESTE código está leyendo la entrada):
59
M = cantidad de Pokémon capturados (enunciado lo llama N)
60
N = cantidad de barras de dulce (candies) (enunciado lo llama M)
61
X = costo en dulces para evolucionar 1 Pokémon
62
Y = dulces que se ganan al vender 1 Pokémon (NO evolucionado)
63
P = número máximo de Pokémon que se pueden evolucionar (respuesta)
64
*/
65
int
M
,
N
, X, Y, P;
66
67
/* Lee: M N X Y (nota: el enunciado usualmente pide N M X Y). */
68
scanf(
"%d %d %d %d"
, &
M
, &
N
, &X, &Y);
69
70
/*
71
Si evolucionamos P Pokémon y vendemos los (M - P) restantes:
72
dulces disponibles = N + (M - P)*Y
73
Requisito para evolucionar P:
74
N + (M - P)*Y >= P*X
75
=> N + M*Y >= P*(X + Y)
76
=> P <= floor((N + M*Y)/(X + Y))
77
78
Además, P no puede ser mayor que M (no puedes evolucionar más Pokémon de los que tienes).
79
*/
80
P = (
N
+ Y *
M
) / (X + Y);
81
82
/* Imprime min(P, M). */
83
printf(
"%d\n"
, P >
M
?
M
: P);
84
return
0;
85
}
N
#define N
Definition
012_aleatorio.c:5
M
#define M
Definition
018_Casilleros.c:7
main
int main(void)
Definition
Ejemplo_035.c:15
src
20261
src
Ejemplo003.c
Generated by
1.16.1