Вася с Петей и Колей заработали много денег. Чтобы не мучиться с дележкой, они решили, что сначала Вася заберет все купюры макси
мального достоинства, затем Петя – минимального , а все оставшиеся – Коля Помогите рассчитать, кто сколько купюр получит. Формат входных данных В первой строке содержится число N (1 ≤ N ≤ 1000000) – количество купюр. Во второй строке записано N натуральных чисел, не превосходящих 109 – номиналы купюр. Формат выходных данных Выведите через пробел три числа: сколько купюр достанется Васе, Пете и Коле соответственно. Пример input.txt | output.txt 4 | 1 2 3 4 | 1 1 2 5 2 2 4 4 4 | 3 2 0
<span>program delehka(input,output); var
a:Array[1..1000010] of longint;
i,n,s,ma,mi,sl:longint;
begin
assign(input,'input.txt'); reset(input);
assign(output,'output.txt');
rewrite(output);
readln(n);
mi:=(1 shl 30);
ma:=-(1 shl 30);
for i:=1 to n do
begin
read(a[i]);
ma:=max(ma,a[i]);
mi:=min(mi,a[i]);
end; if ma=mi then write(0,'',n,'',0)
else
begin
for i:=1 to n do begin
if a[i]=ma then s:=s+1;
if a[i]=mi then sl:=sl+1; end;
writeln(s,' ',sl,' ',n-s-sl); close(input);
close(output);
end;
end.</span>
Программа... Вообщем непонятно что делает. Убирает последние три цифры у числа, затем Эти самые три цифры умножает на переменную "b", и так повторяется, пока это число не станет меньше 1000.