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
52int 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}
#define N
#define M
int main(void)
Definition Ejemplo_035.c:15