社区讨论

为什么有错??数据有问题??

P1102A-B 数对参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@mi6gwmtx
此快照首次捕获于
2025/11/20 04:41
4 个月前
此快照最后确认于
2025/11/20 04:41
4 个月前
查看原帖
CPP
var
  i,j,n,m,s,k:longint;
  a,b:array[1..100000] of longint;
function find(l,r,x:longint):longint;
var mid:longint;
begin
  if l>r then exit(0);
  mid:=(l+r) shr 1;
  if a[mid]=x then exit(mid);
  if x<a[mid] then exit(find(l,mid-1,x))
    else exit(find(mid+1,r,x));
end;
begin
  readln(n,k);
  for i:=1 to n do read(a[i]);
  j:=1;b[j]:=1;
  for i:=2 to n do
    if a[i]=a[i-1] then inc(b[j])
      else begin j:=i;b[j]:=1;end;
  for i:=2 to n do if a[i]=a[i-1] then b[i]:=b[i-1];
  for i:=1 to n do begin
    j:=find(i+1,n,a[i]+k);
    if j<>0 then s:=s+b[j];
  end;
  write(s);
  close(input);
  close(output);
end.

回复

1 条回复,欢迎继续交流。

正在加载回复...