Cod sursa(job #1233267)

Utilizator robertdx3Robert robertdx3 Data 25 septembrie 2014 04:13:49
Problema Loto Scor 5
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.2 kb
program loto;

var f : text;
    n,i,j : byte;
    s,suma,p : longint;
    a,v : array[0..101] of longint;
    sol : array[0..7] of longint;

function det : longint;
var i,j : byte;
begin
    i := 1;
    while not ( (v[i] <= p) and (p < v[i+1]) ) do i := i+1;

    for j := 1 to n do
        v[j] := v[j]-a[j];

    p := p-a[i];

    det := a[i];
end;

begin
    assign(f,'loto.in'); reset(f);
    readln(f,n,s);
    for i := 1 to n do
        read(f,a[i]);
    close(f);

    for i := 1 to n-1 do
        for j := i+1 to n do
            if a[i] > a[j] then begin
                suma := a[i];
                a[i] := a[j];
                a[j] := suma;
                end;

    for i := 1 to n do v[i] := a[i]*6;

    v[n+1] := 600000002;

    assign(f,'loto.out'); rewrite(f);

    if (s < v[1]) or (s > v[n]) then write(f,-1)
    else begin
        p := s; suma := 0;
        for i := 1 to 6 do begin
            sol[i] := det;
            suma := suma+sol[i];
            end;
        if suma = s then begin
            for i := 1 to 6 do
                write(f,sol[i],' ')
            end
        else
            write(f,-1);

        end;

    close(f);
end.