#include<iostream>
#include<cmath>
#include<string.h>
#include<algorithm>
#include<iomanip>
#include<cstdio>
typedef long long ll;
using namespace std;
int main()
{
double a[1000];
int n,m;
double h;
int casei=0;
while(~scanf("%d%d",&n,&m)&&(n||m))
{
for(int i=0;i<n*m;i++)
scanf("%lf",&a[i]);
scanf("%lf",&h);
sort(a,a+n*m);
double sum=0,th;
int ti;
int flag=1;
for(int i=0;i<n*m-1;i++)
{
sum+=(a[i+1]-a[i])*100*(i+1);
if(sum>=h)
{
sum-=(a[i+1]-a[i])*100*(i+1);
ti=i+1;
flag=0;
break;
}
}
//忘记考虑下面这三种情况,所以一直wa,
//1.只有一个地段
//2.sum加完后也没有超过积水量
//3.完序后第一个比积水量都高.
if(n*m==1)
ti=1;
if(flag)
ti=n*m;
th=h-sum;
printf("Region %d\n",++casei);
printf("Water level is %.2f meters.\n",th/ti/100+a[ti-1]);
printf("%.2f percent of the region is under water.\n",a[ti-1]<=h?ti*1.0/(n*m)*100:0);
printf("\n");
}
return 0;
}
POJ 1877(模拟)
最新推荐文章于 2023-02-16 16:32:24 发布