View Code of Problem 3572

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define Max 100010

long a[Max];
int main()
{
    int t;
    scanf("%d",&t);
    while(t--){
        int n;
        int sum=0;
        long m;
        scanf("%d%ld",&n,&m);
        int i,j,w,flag;
        for(i=0;i<n;i++)
            scanf("%ld",a+i);
       // for(i=0;i<n;i++)
            //printf("%ld\n",a[i]);
        for(i=0;i<n;i++){
            flag = 0;
            for(j=i;j<n;j++){
                for(w=j;w>=i;w--){
                    if(fabs(a[w]-a[j])>=m){//a[w]表示之前的,a[j]表示增加的
                        flag = 1;
                        break;
                    }
                }
                if(flag)
                    break;
                else
                    sum++;
                //printf("")
            }
           // printf("%dth:sum=%d\n",i+1,sum);

        }
        printf("%d\n",sum);
    }
    //printf("Hello world!\n");
    return 0;
}

Double click to view unformatted code.


Back to problem 3572