社区讨论
为什么有错??数据有问题??
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 条回复,欢迎继续交流。
正在加载回复...