dengxinyi преди 6 години
родител
ревизия
6551db607a
променени са 1 файла, в които са добавени 5 реда и са изтрити 10 реда
  1. 5 10
      poj/1877.flooded/main.cc

+ 5 - 10
poj/1877.flooded/main.cc

@@ -18,11 +18,8 @@ int first_ge() {
   int s = 0, e = mn - 1;
   while (s <= e) {
     int m = s + (e - s) / 2;
-    if (sum[m] < vol) {
-      s = m + 1;
-    } else {
-      e = m - 1;
-    }
+    if (sum[m] < vol) s = m + 1;
+    else e = m - 1;
   }
   return s;
 }
@@ -31,11 +28,9 @@ int main() {
   int rid = 1;
   while (scanf("%d %d", &m, &n) != EOF) {
     if (m == 0 && n == 0) break;
-    for (int i = 0; i < m; i++)
-      for (int j = 0; j < n; j++)
-        scanf("%d", &hei[i * n + j]);
-    scanf("%d", &vol);
     mn = m * n;
+    for (int i = 0; i < mn; i++) scanf("%d", &hei[i]);
+    scanf("%d", &vol);
     sort(hei, hei + mn);
     for (int i = 0; i < mn - 1; i++) {
       sum[i] = (hei[i + 1] - hei[i]) * SQR * (i + 1);
@@ -46,7 +41,7 @@ int main() {
     double lv = hei[i];
     vol = i == 0 ? vol : vol - sum[i - 1];
     lv += double(vol) / ((i + 1) * SQR);
-    printf(fmt, rid++, lv, (i + 1) * 100 / double(mn));
+    printf(fmt, rid++, lv, (i + 1) * 100.0 / mn);
   }
   return 0;
 }