#include using namespace std; int A[1000001]; int B[1000001]; int j, i, k, k2; long long licznik; void merge(int p,int q,int r) { for(int i = p; i <= r; i++) { B[i] = A[i]; } int i = p; int j = q; int k = p; int l = p; while(i <= q - 1 && j <= r) { while(B[l] + k2 >= B[j] && l <= q - 1) { l++; } if(B[i] <= B[j]) { A[k] = B[j]; k++; j++; licznik += (q - l); } else { A[k] = B[i]; k++; i++; } } while(i <= q - 1){ A[k] = B[i]; k++; i++; } while(j <= r){ A[k] = B[j]; k++; j++; } } void mergesort(int k,int l) { if(k==l) { return; } int s; s=(k+l)/2; mergesort(k,s); mergesort(s+1,l); merge(k,s+1,l+1); return; } int main() { int zes,iloscrz,x,y; cin>>zes; for(int k=zes; k>=1; k--) { licznik=0; cin>>iloscrz>>k2; x=0; y=iloscrz-1; for(int i=0; i>A[i]; } mergesort(x,y); for(int m=0; m