#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int hight[100],lengh[100];
int Max(int i,int j){
int t=-1;
for(j+=1;j<=i;j++){
if(hight[j]>t) t=hight[j];
}
return t;
}
int main(){
int n,m,i,j,val,min,max;
scanf("%d",&n);
while(n--){
memset(lengh,0,sizeof(lengh));
scanf("%d",&m);
for(i=1;i<=m;i++){
scanf("%d%d",&lengh[i],&hight[i]);
lengh[i]+=lengh[i-1];//动态规划
}
scanf("%d",&val);
min=100000;
for(i=1;i<=m;i++){
for(j=0;j<i;j++){
if(lengh[i]-lengh[j]>=val){
max=Max(i,j);//先找出符合条件的最高的高度
if(max<min) min=max;//从最高的高度里找出最低的
}
}
}
if(m==0) printf("%d\n",val);
else printf("%d\n",val+min);
}
return 0;
}
南阳 265 积木
最新推荐文章于 2019-10-30 10:23:11 发布