尺取(two pointers)#2,#3 TLE
  • 板块P1102 A-B 数对
  • 楼主LaoPi
  • 当前回复7
  • 已保存回复7
  • 发布时间2020/10/29 22:05
  • 上次更新2023/11/5 09:33:20
查看原帖
尺取(two pointers)#2,#3 TLE
248654
LaoPi楼主2020/10/29 22:05
#include<stdio.h>
#include<algorithm>
using std::sort;
int a[200050];
int main(){
	int n,d;
	scanf("%d%d",&n,&d);
	for(int i=1;i<=n;i++){
		scanf("%d",&a[i]);
	}
	sort(a+1,a+n+1);
	int i=1,j=1,ans=0;
	while(i<=n&&j<=n){
		if(a[i]+d<a[j]){
			i++;
		}else{
			if(a[i]+d==a[j]){
				int i1=i;
				while(a[i1]+d==a[j]&&i1<=n){
					i1++;
					ans++;
				}
			}
			j++;
		}
	}
	printf("%d\n",ans);
	return 0;
}

https://www.luogu.com.cn/record/40788757

2020/10/29 22:05
加载中...