标签:
2 4 2 3 1 2 4 10 5 0 3 4 5 2 1 6 7 8 9
5 28HintFirst Sample, the satisfied groups include:[1,1]、[2,2]、[3,3]、[4,4] 、[2,3]
#include<iostream>
#include<algorithm>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
using namespace std;
int n,k;
int a[100100];
int main()
{
    int T;
    scanf("%d",&T);
    while(T--)
    {
        __int64 sum = 0;
        scanf("%d%d",&n,&k);
        for(int i=0; i<n; i++)
        {
            scanf("%d",&a[i]);
        }
        int bmax,bmin;
        for(int i=0; i<n; i++)
        {
            int max = a[i],min = a[i];
            bmax = i;
            bmin = i;
            int j;
            for(j=i; j<n; j++)
            {
                if(max<a[j])
                {
                    bmax = j;
                    max = a[j];
                }
                if(min > a[j])
                {
                    bmin = j;
                    min = a[j];
                }
                if(max-min >=k)
                {
                    int k2 = 1;
                    int k1 = 1;
                    if(bmax>bmin)
                    {
                        for(int v=i; v<bmax; v++)
                        {
                            sum += k1++;
                        }
                        for(int v=bmin+1;v<bmax;v++)
                        {
                            sum -= k2++;
                        }
                        i = bmin;
                    }
                    else
                    {
                        for(int v=i; v<bmin; v++)
                        {
                            sum += k1++;
                        }
                        for(int v=bmax+1;v<bmin;v++)
                        {
                            sum -= k2++;
                        }
                        i = bmax;
                    }
                    break;
                }
            }
            if(j == n)
            {
                int pk = 1;
                for(int v=i;v<n;v++)
                {
                    sum += pk++;
                }
                i = n;
                break;
            }
        }
        printf("%I64d\n",sum);
    }
    return 0;
}版权声明:本文为博主原创文章,未经博主允许不得转载。
HDU 5289 Assignment(多校联合第一场1002)
标签:
原文地址:http://blog.csdn.net/yeguxin/article/details/46998939