Sunday, March 06, 2011

110103 El viaje

// ACEPTADO!!!
/**
* 110103 - El viaje
*/
import java.util.*;

/**
* @author BreakDark
* @version 1.6 beta
*/
public class Main {
public static void main(String[] args) {
Scanner Lee; // para leer los datos de entrada
int n = 1000; // número de estudiantes
double total = 1000000000; // total gastos de los estudiantes
double[] estudiante = new double[1010];
double promedio; // para calcular la media
double suma_dan; // pa los que dan dinero
double suma_reciben; // pa los que reciben dinero
double resta; // para hacer las diferencias con respecto al promedio
int i; // pa los bucles
// Inicia el programa
Lee = new Scanner(System.in); // leemos desde el sistema
n = Lee.nextInt();
while (n > 0) {
// Ahora leemos el total de gastos y lo guardamos en un vector
total = 0;
promedio = 0;
for (i = 0; i < n; i++) {
estudiante[i] = Double.parseDouble(Lee.next());
estudiante[i]*=100; // para eliminar la coma
total += estudiante[i];
}
if (n > 0)
promedio = total/(double)n; // el valor mas alto
// ahora calculamos el dinero que debe de intercambiarse
suma_dan = 0;
suma_reciben = 0;
for (i = 0; i < n; i++) {
if(estudiante[i]>promedio)
suma_reciben+=(int)(estudiante[i]-promedio);
else
suma_dan+=(int)(promedio-estudiante[i]);
}
if(suma_dan>suma_reciben)
resta=suma_dan;
else
resta=suma_reciben;
// mostramos el resultado
System.out.print("$" +(int)(resta / 100) + ".");
resta %= 100;
System.out.print((int)(resta / 10));
System.out.println((int)(resta % 10));
// volvemos a leer n
n = Lee.nextInt();

//System.out.printf("$%.2f\n",resta/100);
// volvemos a leer n
//n = Lee.nextInt();
}
// FIN DEL PROGRAMA!!!
}
}

No comments: