Сначала запишем выражение в виде степеней двойки:
2^16096 - 2^3210 + 2^1024 - 2^7 + 2
Далее последовательно запишем представление числа по действиям:
1) 2^16096 = (в позиции 16096)10000...0
2^3210 = (в позиции 3210)10000...0
При их разности получится:
(16095)111111...111(3210)000...0
2) Прибавляем 2^1024 и получается (16095)111111...111(3210)000...01(1024)00
3) (16095)111111...111(3210)000...01(1023)11(7)0000000
4) (16095)111111...111(3210)000...01(1023)11(7)0000010
Вычисляем кол-о 1: 16095 - 3210 + 1 + 1023 - 7 + 1 + 1 = 13904
Pascal:
var a,n,count,max,i:integer;
begin
count :=0;
max:= -1;
readln(n);
for i:=1 to n do
begin
readln(a);
if (a>max) then
begin
max:=a;
count:=1;
end
else
begin
if (a = max) then
count:=count+1;
end
end;
writeln(count);
end.