zoj 3607

  • Post author:
  • Post category:其他


这题当时比赛的时候以为是dp,以为客人走了还会回来==!

#include<iostream>
#include<stdio.h>
using namespace std;

int main()
{
	int pi[1001],ti[1001];
	double temp,Maxtime,Max,Time;
	int t,n,i,sum;
	scanf("%d",&t);
	while(t--)
	{
		scanf("%d",&n);
		for(i=1;i<=n;i++)
		{
			scanf("%d",&pi[i]);
		}
		ti[0]=0;
		for(i=1;i<=n;i++)
		{
			scanf("%d",&ti[i]); 
		}
		sum=0;
		Max=0;
		Maxtime=0;
		for(i=1;i<=n;i++)
		{
			sum+=pi[i];
			temp=(double)sum/(i);//当前的平均价格
			if(Maxtime<(ti[i]-ti[i-1]))
			{
				Maxtime=ti[i]-ti[i-1];
			}
			if(i==n)
			{
				if(temp>Max)
				{
					Max=temp;
					Time=Maxtime;
				}
				continue;
			}
			if(Maxtime<(ti[i+1]-ti[i])&&temp>Max)
			{
				Max=temp;
				Time=Maxtime;
			}
		}
		printf("%.6lf %.6lf\n",Time,Max);
	}
	return 0;
}



版权声明:本文为yp0408100207原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。