/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class PourWater {
public void pourWater(int[] heights, int water, int location) {
int[] waters = new int[heights.length];
int pourLocation;
while (water > 0) {
int left = location - 1;
while (left >= 0) {
if (heights[left] + waters[left] > heights[left + 1] + waters[left + 1]) {
break;
}
left--;
}
if (heights[left + 1] + waters[left + 1] < heights[location] + waters[location]) {
pourLocation = left + 1;
waters[pourLocation]++;
water--;
continue;
}
int right = location + 1;
while (right < heights.length) {
if (heights[right] + waters[right] > heights[right - 1] + waters[right - 1]) {
break;
}
right++;
}
if (heights[right - 1] + waters[right - 1] < heights[location] + waters[location]) {
pourLocation = right - 1;
waters[pourLocation]++;
water--;
continue;
}
pourLocation = location;
waters[pourLocation]++;
water--;
}
print(heights, waters);
}
private void print(int[] heights, int[] waters) {
int n = heights.length;
int maxHeight = 0;
for (int i = 0; i < n; i++) {
maxHeight
= Math.
max(maxHeight, heights
[i
] + waters
[i
]); }
for (int height = maxHeight; height >= 0; height--) {
for (int i = 0; i < n; i++) {
if (height <= heights[i]) {
} else if (height > heights[i] && height <= heights[i] + waters[i]) {
} else {
}
}
}
}
}
public class Main {
public static void main
(String[] args
) { PourWater pw = new PourWater();
int[] heights = {5,4,2,1,2,3,2,1,0,1,2,4};
for (int i = 1; i <= 9; i++) {
pw.pourWater(heights, i, 5);
}
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KCmNsYXNzIFBvdXJXYXRlciB7CiAgcHVibGljIHZvaWQgcG91cldhdGVyKGludFtdIGhlaWdodHMsIGludCB3YXRlciwgaW50IGxvY2F0aW9uKSB7CiAgICBpbnRbXSB3YXRlcnMgPSBuZXcgaW50W2hlaWdodHMubGVuZ3RoXTsKICAgIGludCBwb3VyTG9jYXRpb247CgogICAgd2hpbGUgKHdhdGVyID4gMCkgewogICAgICBpbnQgbGVmdCA9IGxvY2F0aW9uIC0gMTsKICAgICAgd2hpbGUgKGxlZnQgPj0gMCkgewogICAgICAgIGlmIChoZWlnaHRzW2xlZnRdICsgd2F0ZXJzW2xlZnRdID4gaGVpZ2h0c1tsZWZ0ICsgMV0gKyB3YXRlcnNbbGVmdCArIDFdKSB7CiAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgICAgbGVmdC0tOwogICAgICB9CiAgICAgIGlmIChoZWlnaHRzW2xlZnQgKyAxXSArIHdhdGVyc1tsZWZ0ICsgMV0gPCBoZWlnaHRzW2xvY2F0aW9uXSArIHdhdGVyc1tsb2NhdGlvbl0pIHsKICAgICAgICBwb3VyTG9jYXRpb24gPSBsZWZ0ICsgMTsKICAgICAgICB3YXRlcnNbcG91ckxvY2F0aW9uXSsrOwogICAgICAgIHdhdGVyLS07CiAgICAgICAgY29udGludWU7CiAgICAgIH0KCiAgICAgIGludCByaWdodCA9IGxvY2F0aW9uICsgMTsKICAgICAgd2hpbGUgKHJpZ2h0IDwgaGVpZ2h0cy5sZW5ndGgpIHsKICAgICAgICBpZiAoaGVpZ2h0c1tyaWdodF0gKyB3YXRlcnNbcmlnaHRdID4gaGVpZ2h0c1tyaWdodCAtIDFdICsgd2F0ZXJzW3JpZ2h0IC0gMV0pIHsKICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICByaWdodCsrOwogICAgICB9CiAgICAgIGlmIChoZWlnaHRzW3JpZ2h0IC0gMV0gKyB3YXRlcnNbcmlnaHQgLSAxXSA8IGhlaWdodHNbbG9jYXRpb25dICsgd2F0ZXJzW2xvY2F0aW9uXSkgewogICAgICAgIHBvdXJMb2NhdGlvbiA9IHJpZ2h0IC0gMTsKICAgICAgICB3YXRlcnNbcG91ckxvY2F0aW9uXSsrOwogICAgICAgIHdhdGVyLS07CiAgICAgICAgY29udGludWU7CiAgICAgIH0KCiAgICAgIHBvdXJMb2NhdGlvbiA9IGxvY2F0aW9uOwogICAgICB3YXRlcnNbcG91ckxvY2F0aW9uXSsrOwogICAgICB3YXRlci0tOwogICAgfQoKICAgIHByaW50KGhlaWdodHMsIHdhdGVycyk7CiAgfQoKICBwcml2YXRlIHZvaWQgcHJpbnQoaW50W10gaGVpZ2h0cywgaW50W10gd2F0ZXJzKSB7CiAgICBpbnQgbiA9IGhlaWdodHMubGVuZ3RoOwoKICAgIGludCBtYXhIZWlnaHQgPSAwOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgbWF4SGVpZ2h0ID0gTWF0aC5tYXgobWF4SGVpZ2h0LCBoZWlnaHRzW2ldICsgd2F0ZXJzW2ldKTsKICAgIH0KCiAgICBmb3IgKGludCBoZWlnaHQgPSBtYXhIZWlnaHQ7IGhlaWdodCA+PSAwOyBoZWlnaHQtLSkgewogICAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgIGlmIChoZWlnaHQgPD0gaGVpZ2h0c1tpXSkgewogICAgICAgICAgU3lzdGVtLm91dC5wcmludCgiKyIpOwogICAgICAgIH0gZWxzZSBpZiAoaGVpZ2h0ID4gaGVpZ2h0c1tpXSAmJiBoZWlnaHQgPD0gaGVpZ2h0c1tpXSArIHdhdGVyc1tpXSkgewogICAgICAgICAgU3lzdGVtLm91dC5wcmludCgiVyIpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50KCIgIik7CiAgICAgICAgfQogICAgICB9CiAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigpOwogICAgfQogICAgU3lzdGVtLm91dC5wcmludGxuKCk7CiAgfQp9CgpwdWJsaWMgY2xhc3MgTWFpbiB7CiAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewogICAgUG91cldhdGVyIHB3ID0gbmV3IFBvdXJXYXRlcigpOwogICAgaW50W10gaGVpZ2h0cyA9IHs1LDQsMiwxLDIsMywyLDEsMCwxLDIsNH07CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSA5OyBpKyspIHsKICAgICAgcHcucG91cldhdGVyKGhlaWdodHMsIGksIDUpOwogICAgfQogIH0KfQo=