#!/usr/bin/perl -w

use 5.034;

my $central = $ARGV[0];
$central //= 0.80 ;   # 0.1 a cada extremo
my $DEBUG = 2;
if ($DEBUG && !$ARGV[0]){ 
    say "You could especify $0 <0.x> central mass";
}
my $limit = (1-$central)/2;

my $N = 100;      # datos de muestra simulados
say "N = $N" if $DEBUG > 1;
my @data;
for (1 .. $N){
    push @data, int (1+rand() * 1000);
    say $data[-1] if $DEBUG ==1;
}

#####################################################

@data = sort { $a <=> $b } @data;  # ascendente o descente, no debería importar

say "-" x 80 if $DEBUG == 1;

my $sumtotal = 0;
for my $i (@data){
    $sumtotal += $i;
    say "$sumtotal" if $DEBUG == 1;
}
say "total = $sumtotal" if $DEBUG > 1;

my $sum = 0;
my $c = 0;
my $flag = 0;
my $r;
for my $i (@data){
    $sum += $i;
    $r = $sum / $sumtotal;
    if ($r >= $limit && $flag == 0){
	say "index $c -> value $i -> percentage $r";
	$flag=1;
    }
    if ($r >= $central+$limit && $flag == 1){
	say "index $c -> value $i -> percentage $r";
	$flag =2;
    }
    $c++;
}


exit 2;

