本题可以参考http://jovesky.com/post/74/poj-1877/
/*
* POJ_1877.cpp
*
* Created on: 2013年11月4日
* Author: Administrator
*/
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
const int maxn = 900;
int main() {
int n, m;
int v;
int d[maxn], sum[maxn];
int counter =1;
while (scanf("%d%d", &n, &m) != EOF, n || m) {
int i, j;
for (i = 0; i < m * n; ++i) {
scanf("%d", &d[i]);
}
scanf("%d",&v);
sort(d,d+n*m);
sum[0] = d[0];
for(i = 1 ; i < n*m ; ++i){
sum[i] = d[i] + sum[i-1];
}
for(i = 1 ; i < n*m ; ++i){
if((d[i]*i - sum[i-1])*100 >= v){
break;
}
}
printf("Region %d\n",counter++);
printf("Water level is %.2lf meters.\n",(v/100.0 + sum[i-1])/i);
printf("%.2lf percent of the region is under water.\n\n",100.0*i/(n*m));
}
return 0;
}