import java.util.*;
import java.lang.*;
import java.io.*;
import java.math.*;
class Ideone
{
{
// コイントス500回の表の回数の統計?
for (int i = 0; i <= 500; i++) {
for (int k = 0; k <= 500; k++)
}
for (int i = 0; i < 500; i++) {
for (int k = 0; k < 500; k++) {
dp[i+1][k+1] = dp[i+1][k+1].add(dp[i][k]);
dp[i+1][k] = dp[i+1][k].add(dp[i][k]);
}
}
for (int i = 0; i <= 500; i++) {
sum
= sum.
add(BigInteger.
valueOf(i
).
multiply(result
[i
])); count = count.add(result[i]);
}
double average
= new BigDecimal(sum.
multiply(BigInteger.
valueOf(10000)).
divide(count
),
4).
doubleValue();
for (int i = 0; i <= 500; i++) {
}
for (int i
= (int)Math.
round(average
-sd
); i
<= (int)Math.
round(average
+sd
); i
++) { sum = sum.add(result[i]);
}
double avgsdRate
= new BigDecimal(sum.
multiply(BigInteger.
valueOf(10000)).
divide(count
),
4).
doubleValue();
for (int i
= (int)Math.
round(average
-sd
*2); i
<= (int)Math.
round(average
+sd
*2); i
++) { sum = sum.add(result[i]);
}
double avg2sdRate
= new BigDecimal(sum.
multiply(BigInteger.
valueOf(10000)).
divide(count
),
4).
doubleValue();
System.
out.
println("count = " + count
); System.
out.
println("average = " + average
); System.
out.
println("sd = " + sd
); System.
out.
println("(avg-sd,avg+sd) = (" + (average
-sd
) + ", " + (average
+sd
)+")"); System.
out.
println("avg-sd-rate = " + avgsdRate
); System.
out.
println("(avg-2*sd,avg+2*sd) = (" + (average
-sd
*2) + ", " + (average
+sd
*2)+")"); System.
out.
println("avg-2sd-rate = " + avg2sdRate
); }
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmltcG9ydCBqYXZhLm1hdGguKjsKCmNsYXNzIElkZW9uZQp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQkvLyDjgrPjgqTjg7Pjg4jjgrk1MDDlm57jga7ooajjga7lm57mlbDjga7ntbHoqIjvvJ8KCQkKCQlCaWdJbnRlZ2VyW11bXSBkcCA9IG5ldyBCaWdJbnRlZ2VyWzUwMV1bNTAxXTsKCQlmb3IgKGludCBpID0gMDsgaSA8PSA1MDA7IGkrKykgewoJCQlmb3IgKGludCBrID0gMDsgayA8PSA1MDA7IGsrKykKCQkJCWRwW2ldW2tdID0gQmlnSW50ZWdlci5aRVJPOwoJCX0KCgkJZHBbMF1bMF0gPSBCaWdJbnRlZ2VyLk9ORTsKCQlmb3IgKGludCBpID0gMDsgaSA8IDUwMDsgaSsrKSB7CgkJCWZvciAoaW50IGsgPSAwOyBrIDwgNTAwOyBrKyspIHsKCQkJCWRwW2krMV1baysxXSA9IGRwW2krMV1baysxXS5hZGQoZHBbaV1ba10pOwoJCQkJZHBbaSsxXVtrXSA9IGRwW2krMV1ba10uYWRkKGRwW2ldW2tdKTsKCQkJfQoJCX0KCQlCaWdJbnRlZ2VyW10gcmVzdWx0ID0gZHBbNTAwXTsKCgkJCgkJQmlnSW50ZWdlciBjb3VudCA9IEJpZ0ludGVnZXIuWkVSTzsKCQlCaWdJbnRlZ2VyIHN1bSA9IEJpZ0ludGVnZXIuWkVSTzsKCQlmb3IgKGludCBpID0gMDsgaSA8PSA1MDA7IGkrKykgewoJCQlzdW0gPSBzdW0uYWRkKEJpZ0ludGVnZXIudmFsdWVPZihpKS5tdWx0aXBseShyZXN1bHRbaV0pKTsKCQkJY291bnQgPSBjb3VudC5hZGQocmVzdWx0W2ldKTsKCQl9CgkJZG91YmxlIGF2ZXJhZ2UgPSBuZXcgQmlnRGVjaW1hbChzdW0ubXVsdGlwbHkoQmlnSW50ZWdlci52YWx1ZU9mKDEwMDAwKSkuZGl2aWRlKGNvdW50KSwgNCkuZG91YmxlVmFsdWUoKTsKCgoJCXN1bSA9IEJpZ0ludGVnZXIuWkVSTzsKCQlmb3IgKGludCBpID0gMDsgaSA8PSA1MDA7IGkrKykgewoJCQlzdW0gPSBzdW0uYWRkKEJpZ0ludGVnZXIudmFsdWVPZihpKS5zdWJ0cmFjdChCaWdJbnRlZ2VyLnZhbHVlT2YoMjUwKSkucG93KDIpLm11bHRpcGx5KHJlc3VsdFtpXSkpOwoJCX0KCQlkb3VibGUgc2QgPSBNYXRoLnNxcnQobmV3IEJpZ0RlY2ltYWwoc3VtLm11bHRpcGx5KEJpZ0ludGVnZXIudmFsdWVPZigxMDAwMCkpLmRpdmlkZShjb3VudC5zdWJ0cmFjdChCaWdJbnRlZ2VyLk9ORSkpLCA0KS5kb3VibGVWYWx1ZSgpKTsKCgoJCXN1bSA9IEJpZ0ludGVnZXIuWkVSTzsKCQlmb3IgKGludCBpID0gKGludClNYXRoLnJvdW5kKGF2ZXJhZ2Utc2QpOyBpIDw9IChpbnQpTWF0aC5yb3VuZChhdmVyYWdlK3NkKTsgaSsrKSB7CgkJCXN1bSA9IHN1bS5hZGQocmVzdWx0W2ldKTsKCQl9CgkJZG91YmxlIGF2Z3NkUmF0ZSA9IG5ldyBCaWdEZWNpbWFsKHN1bS5tdWx0aXBseShCaWdJbnRlZ2VyLnZhbHVlT2YoMTAwMDApKS5kaXZpZGUoY291bnQpLCA0KS5kb3VibGVWYWx1ZSgpOwoKCgkJc3VtID0gQmlnSW50ZWdlci5aRVJPOwoJCWZvciAoaW50IGkgPSAoaW50KU1hdGgucm91bmQoYXZlcmFnZS1zZCoyKTsgaSA8PSAoaW50KU1hdGgucm91bmQoYXZlcmFnZStzZCoyKTsgaSsrKSB7CgkJCXN1bSA9IHN1bS5hZGQocmVzdWx0W2ldKTsKCQl9CgkJZG91YmxlIGF2ZzJzZFJhdGUgPSBuZXcgQmlnRGVjaW1hbChzdW0ubXVsdGlwbHkoQmlnSW50ZWdlci52YWx1ZU9mKDEwMDAwKSkuZGl2aWRlKGNvdW50KSwgNCkuZG91YmxlVmFsdWUoKTsKCgoJCVN5c3RlbS5vdXQucHJpbnRsbigiY291bnQgPSAiICsgY291bnQpOwoJCVN5c3RlbS5vdXQucHJpbnRsbigiYXZlcmFnZSA9ICIgKyBhdmVyYWdlKTsKCQlTeXN0ZW0ub3V0LnByaW50bG4oInNkID0gIiArIHNkKTsKCQlTeXN0ZW0ub3V0LnByaW50bG4oIihhdmctc2QsYXZnK3NkKSA9ICgiICsgKGF2ZXJhZ2Utc2QpICsgIiwgIiArIChhdmVyYWdlK3NkKSsiKSIpOwoJCVN5c3RlbS5vdXQucHJpbnRsbigiYXZnLXNkLXJhdGUgPSAiICsgYXZnc2RSYXRlKTsKCQlTeXN0ZW0ub3V0LnByaW50bG4oIihhdmctMipzZCxhdmcrMipzZCkgPSAoIiArIChhdmVyYWdlLXNkKjIpICsgIiwgIiArIChhdmVyYWdlK3NkKjIpKyIpIik7CgkJU3lzdGVtLm91dC5wcmludGxuKCJhdmctMnNkLXJhdGUgPSAiICsgYXZnMnNkUmF0ZSk7Cgl9Cn0=