/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.Arrays;
import java.util.List;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static int getMaxStableSegments(List<Integer> massList) {
int len = massList.size();
if (len < 2) {
return 0;
}
int endSegStart = len-1;
int lastVal = massList.get(endSegStart);
while(endSegStart >= 0 && massList.get(endSegStart) <= lastVal) {
--endSegStart;
}
if (endSegStart < 0) {
return 0;
}
int count = 0;
for (int pos=0; pos<endSegStart-1; ++pos) {
if (massList.get(pos) > massList.get(pos+1)) {
++pos; // consume adjacent element
++count;
}
}
return count+1;
}
{
// your code goes here
System.
out.
println(getMaxStableSegments
(Arrays.
asList(10,
2,
1,
2,
1,
2,
1,
9,
8,
7))); // Output: 4
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgppbXBvcnQgamF2YS51dGlsLkFycmF5czsKaW1wb3J0IGphdmEudXRpbC5MaXN0OwoKLyogTmFtZSBvZiB0aGUgY2xhc3MgaGFzIHRvIGJlICJNYWluIiBvbmx5IGlmIHRoZSBjbGFzcyBpcyBwdWJsaWMuICovCmNsYXNzIElkZW9uZQp7CiAgICBwdWJsaWMgc3RhdGljIGludCBnZXRNYXhTdGFibGVTZWdtZW50cyhMaXN0PEludGVnZXI+IG1hc3NMaXN0KSB7CiAgICAgICAgaW50IGxlbiA9IG1hc3NMaXN0LnNpemUoKTsKICAgICAgICBpZiAobGVuIDwgMikgewogICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICB9CiAgICAgICAgaW50IGVuZFNlZ1N0YXJ0ID0gbGVuLTE7CiAgICAgICAgaW50IGxhc3RWYWwgPSBtYXNzTGlzdC5nZXQoZW5kU2VnU3RhcnQpOwogICAgICAgIHdoaWxlKGVuZFNlZ1N0YXJ0ID49IDAgJiYgbWFzc0xpc3QuZ2V0KGVuZFNlZ1N0YXJ0KSA8PSBsYXN0VmFsKSB7CiAgICAgICAgICAgIC0tZW5kU2VnU3RhcnQ7CiAgICAgICAgfQogICAgICAgIGlmIChlbmRTZWdTdGFydCA8IDApIHsKICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgfQogICAgICAgIGludCBjb3VudCA9IDA7CiAgICAgICAgZm9yIChpbnQgcG9zPTA7IHBvczxlbmRTZWdTdGFydC0xOyArK3BvcykgewogICAgICAgICAgICBpZiAobWFzc0xpc3QuZ2V0KHBvcykgPiBtYXNzTGlzdC5nZXQocG9zKzEpKSB7CiAgICAgICAgICAgICAgICArK3BvczsgLy8gY29uc3VtZSBhZGphY2VudCBlbGVtZW50CiAgICAgICAgICAgICAgICArK2NvdW50OwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBjb3VudCsxOwogICAgfQoKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKClN5c3RlbS5vdXQucHJpbnRsbihnZXRNYXhTdGFibGVTZWdtZW50cyhBcnJheXMuIGFzTGlzdCgxMCwyLDEsMiwxLDIsMSw5LDgsNykpKTsgLy8gT3V0cHV0OiA0CgoJfQp9