33,008
社区成员
发帖
与我相关
我的任务
分享
int main()
{
long n;
int l,c = 0,t;
cin>>n>>l;
int *a = new int[n];
for (int i = 0 ; i < n ; i ++)
{
cin>>a[i];
}
//先排序,方便以后查找
qsort(a,n,4,comp);
for (int i = 0 ; i < n ; i ++)
{
t = l - a[i];
for (int j = n - 1; j > i; j --)
{
if(a[j] <= t)
{
c += j - i;
break;
}
}
}
//总可能数量 除以 C(n,2);
double r = (double)c/(n*(n-1)/2);
printf("%.2f",r);
}
#include<stdio.h>
#include<stdlib.h>
typedef unsigned __int64 UINT64;
int comp (const void *a, const void *b)
{
return *(long *)a - *(long *)b;
}
int main()
{
int n, l, i;
scanf("%d %d",&n , &l);
int *iArray = new int[n];
for (i = 0 ; i < n ;i++)
scanf("%u", &iArray[i]);
//先排序,方便以后查找
qsort(iArray,n,4,comp);
i = 0;
int j = n - 1;
UINT64 count = 0;
while(i != j)
{
if(iArray[i] + iArray[j] > l)
j--;
else
{
count += j - i;
i++;
}
}
//总可能数量 除以 C(n,2);
double r = (double)(count << 1) / n / (n - 1);
printf("%.2f",r);
}
//总可能数量 除以 C(n,2);
double r = (double)c/(n*(n-1)/2);
double r = (double)c/n、(n-1)*2;
main()
{
long n=4;
int l=5,c = 0,t,i,j;
int a[4]={1,2,3,4};
double r;
/*先排序,方便以后查找*/
/* qsort(a,n,4,comp); */
for ( i = 0 ; i < n ; i ++)
{
t = l - a[i];
for ( j = n - 1; j > i; j --)
{
if(a[j] <= t)
{
c += j - i;
break;
}
}
}
r = (double)c/(n*(n-1)/2);
printf("%.2f",r);
}