HDU 5289 Assignment(多校联合第一场1002)

#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)

相关文章:

你感兴趣的文章:

标签云: