2 条题解
-
0
C :
#include <stdio.h> int main(void) { int t; scanf("%d",&t); long long num[t]; for(int i=0;i<t;i++){ int n; scanf("%d",&n); long long a[n],b[n*3],sum=0; for(int j=0;j<n*3;j++) b[j]=0; for(int j=0;j<n;j++){ scanf("%lld",&a[j]); b[a[j]-j+n]++; } for(int j=0;j<n*3;j++){ sum+=b[j]*(b[j]-1)/2; } num[i]=sum; } for(int i=0;i<t;i++) printf("%lld\n",num[i]); return 0; }C++ :
#include<stdio.h> int main() { int t; scanf("%d",&t); while(t--) { int n; scanf("%d",&n); long long a[n],map[2*n+1]={0}; for(int i=0;i<n;i++) { scanf("%lld",&a[i]); map[a[i]-i+n]++; } long long sum=0; for(int i=0;i<2*n+1;i++) { sum+=map[i]*(map[i]-1)/2; } printf("%lld\n",sum); } return 0; }
- 1
信息
- ID
- 724
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 10
- 标签
- 提交数
- 6
- 已通过
- 2
- 上传者