枚举每段距离!
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
#include <algorithm>
#include <vector>
#include <limits.h>
#include <queue>
#include <stack>
using namespace std;
int main()
{
int p[1010],t[1010],n,i,j,ti,q,k,dis[1010];
double sum,ave;
cin>>ti;
while(ti --)
{
cin>>n;
for(i = 1;i <= n;i ++)
cin>>p[i];
t[0] = 0;
for(i = 1;i <= n;i ++)
{
cin>>t[i];
dis[i] = t[i] - t[i-1];
}
double maxdis = 0,maxave = 0;
for(i = 1;i <= n;i ++)
{
double sum = 0;
int num = 0;
for(j = 1;j <= n;j ++)
{
if(dis[j] > dis[i]) break;
sum += p[j];
num ++;
}
if(sum/(double)num > maxave) {maxave = sum/(double)num;maxdis = dis[i];}
}
printf("%.6lf %.6lf\n",maxdis,maxave);
}
}