1 条题解
-
0
C++ :
#include <cstdio> #include <algorithm> using namespace std; /* 位置差不超过 d 的点对数(圆内的排序题面说有序,样例其实无序,故统一排序)。 */ static long long p[1000005]; int main(){ int n; long long d; if(scanf("%d %lld",&n,&d)!=2) return 0; for(int i=0;i<n;i++) if(scanf("%lld",&p[i])!=1) return 0; sort(p,p+n); long long ans=0; int i=0; for(int j=1;j<n;j++){ while(p[j]-p[i]>d) i++; ans += j-i; } printf("%lld\n", ans); return 0; }
- 1
信息
- ID
- 2635
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者