/* 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 Ideone
{
public static void main
(String[] args
) { String temp
= "7316717653133062491922511967442657474235534919493496983520312774506326239578318016984801869478851843858615607891129494954595017379583319528532088055111254069874715852386305071569329096329522744304355766896648950445244523161731856403098711121722383113622298934233803081353362766142828064444866452387493035890729629049156044077239071381051585930796086670172427121883998797908792274921901699720888093776657273330010533678812202354218097512545405947522435258490771167055601360483958644670632441572215539753697817977846174064955149290862569321978468622482839722413756570560574902614079729686524145351004748216637048440319989000889524345065854122758866688116427171479924442928230863465674813919123162824586178664583591245665294765456828489128831426076900422421902267105562632111110937054421750694165896040807198403850962455444362981230987879927244284909188845801561660979191338754992005240636899125607176060588611646710940507754100225698315520005593572972571636269561882670428252483600823257530420752963450"; long max = 0;
for (int i = 0; i < temp.length() - 12; i++) {
int min = temp.charAt(i) - '0';
long product = 1;
for (int k = i; k < 13 + i; k++) {
int numK = temp.charAt(k) - '0';
min
= Math.
min(numK, min
);
if (min == 0) {
product = 0;
i = k + 1; // The value at `k` is a zero, so we'll not bother processing from `i through k`.
break;
}
else {
product = product * numK;
}
}
if (product > max) {
max = product;
}
}
System.
out.
println("max : " + max
);
max = 0;
long runningProduct = 1;
int numbersLoaded = 0;
for (int i = 0; i < temp.length(); i++) {
int numI = temp.charAt(i) - '0';
if (numI == 0) {
runningProduct = 1;
numbersLoaded = 0;
}
else {
if (numbersLoaded == 13) {
runningProduct /= temp.charAt(i - 13) - '0';
}
else {
numbersLoaded += 1;
}
runningProduct *= numI;
if (runningProduct > max) {
max = runningProduct;
}
}
}
System.
out.
println("max : " + max
); }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKICAgICAgICBTdHJpbmcgdGVtcCA9ICI3MzE2NzE3NjUzMTMzMDYyNDkxOTIyNTExOTY3NDQyNjU3NDc0MjM1NTM0OTE5NDkzNDk2OTgzNTIwMzEyNzc0NTA2MzI2MjM5NTc4MzE4MDE2OTg0ODAxODY5NDc4ODUxODQzODU4NjE1NjA3ODkxMTI5NDk0OTU0NTk1MDE3Mzc5NTgzMzE5NTI4NTMyMDg4MDU1MTExMjU0MDY5ODc0NzE1ODUyMzg2MzA1MDcxNTY5MzI5MDk2MzI5NTIyNzQ0MzA0MzU1NzY2ODk2NjQ4OTUwNDQ1MjQ0NTIzMTYxNzMxODU2NDAzMDk4NzExMTIxNzIyMzgzMTEzNjIyMjk4OTM0MjMzODAzMDgxMzUzMzYyNzY2MTQyODI4MDY0NDQ0ODY2NDUyMzg3NDkzMDM1ODkwNzI5NjI5MDQ5MTU2MDQ0MDc3MjM5MDcxMzgxMDUxNTg1OTMwNzk2MDg2NjcwMTcyNDI3MTIxODgzOTk4Nzk3OTA4NzkyMjc0OTIxOTAxNjk5NzIwODg4MDkzNzc2NjU3MjczMzMwMDEwNTMzNjc4ODEyMjAyMzU0MjE4MDk3NTEyNTQ1NDA1OTQ3NTIyNDM1MjU4NDkwNzcxMTY3MDU1NjAxMzYwNDgzOTU4NjQ0NjcwNjMyNDQxNTcyMjE1NTM5NzUzNjk3ODE3OTc3ODQ2MTc0MDY0OTU1MTQ5MjkwODYyNTY5MzIxOTc4NDY4NjIyNDgyODM5NzIyNDEzNzU2NTcwNTYwNTc0OTAyNjE0MDc5NzI5Njg2NTI0MTQ1MzUxMDA0NzQ4MjE2NjM3MDQ4NDQwMzE5OTg5MDAwODg5NTI0MzQ1MDY1ODU0MTIyNzU4ODY2Njg4MTE2NDI3MTcxNDc5OTI0NDQyOTI4MjMwODYzNDY1Njc0ODEzOTE5MTIzMTYyODI0NTg2MTc4NjY0NTgzNTkxMjQ1NjY1Mjk0NzY1NDU2ODI4NDg5MTI4ODMxNDI2MDc2OTAwNDIyNDIxOTAyMjY3MTA1NTYyNjMyMTExMTEwOTM3MDU0NDIxNzUwNjk0MTY1ODk2MDQwODA3MTk4NDAzODUwOTYyNDU1NDQ0MzYyOTgxMjMwOTg3ODc5OTI3MjQ0Mjg0OTA5MTg4ODQ1ODAxNTYxNjYwOTc5MTkxMzM4NzU0OTkyMDA1MjQwNjM2ODk5MTI1NjA3MTc2MDYwNTg4NjExNjQ2NzEwOTQwNTA3NzU0MTAwMjI1Njk4MzE1NTIwMDA1NTkzNTcyOTcyNTcxNjM2MjY5NTYxODgyNjcwNDI4MjUyNDgzNjAwODIzMjU3NTMwNDIwNzUyOTYzNDUwIjsKICAgICAgICBsb25nIG1heCA9IDA7CgogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgdGVtcC5sZW5ndGgoKSAtIDEyOyBpKyspIHsKICAgICAgICAgICAgaW50IG1pbiA9IHRlbXAuY2hhckF0KGkpIC0gJzAnOwogICAgICAgICAgICBsb25nIHByb2R1Y3QgPSAxOwoKICAgICAgICAgICAgZm9yIChpbnQgayA9IGk7IGsgPCAxMyArIGk7IGsrKykgewogICAgICAgICAgICAgICAgaW50IG51bUsgPSB0ZW1wLmNoYXJBdChrKSAtICcwJzsKICAgICAgICAgICAgICAgIG1pbiA9ICBNYXRoLm1pbihudW1LLCBtaW4pOwoKICAgICAgICAgICAgICAgIGlmIChtaW4gPT0gMCkgewogICAgICAgICAgICAgICAgICAgIHByb2R1Y3QgPSAwOwogICAgICAgICAgICAgICAgICAgIGkgPSBrICsgMTsgLy8gVGhlIHZhbHVlIGF0IGBrYCBpcyBhIHplcm8sIHNvIHdlJ2xsIG5vdCBib3RoZXIgcHJvY2Vzc2luZyBmcm9tIGBpIHRocm91Z2gga2AuCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBwcm9kdWN0ID0gcHJvZHVjdCAqIG51bUs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChwcm9kdWN0ID4gbWF4KSB7CiAgICAgICAgICAgICAgICBtYXggPSBwcm9kdWN0OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIm1heCA6ICIgKyBtYXgpOwogICAgICAgIAogICAgICAgIG1heCA9IDA7CiAgICAgICAgbG9uZyBydW5uaW5nUHJvZHVjdCA9IDE7CiAgICAgICAgaW50IG51bWJlcnNMb2FkZWQgPSAwOwogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgdGVtcC5sZW5ndGgoKTsgaSsrKSB7CiAgICAgICAgCWludCBudW1JID0gdGVtcC5jaGFyQXQoaSkgLSAnMCc7CiAgICAgICAgCQogICAgICAgIAlpZiAobnVtSSA9PSAwKSB7CiAgICAgICAgCQlydW5uaW5nUHJvZHVjdCA9IDE7CiAgICAgICAgCQludW1iZXJzTG9hZGVkID0gMDsKICAgICAgICAJfQogICAgICAgIAllbHNlIHsKICAgICAgICAJCWlmIChudW1iZXJzTG9hZGVkID09IDEzKSB7CiAgICAgICAgCQkJcnVubmluZ1Byb2R1Y3QgLz0gdGVtcC5jaGFyQXQoaSAtIDEzKSAtICcwJzsKICAgICAgICAJCX0KICAgICAgICAJCWVsc2UgewogICAgICAgIAkJCW51bWJlcnNMb2FkZWQgKz0gMTsKICAgICAgICAJCX0KICAgICAgICAJCiAgICAgICAgCQlydW5uaW5nUHJvZHVjdCAqPSBudW1JOwogICAgICAgIAkJCiAgICAgICAgCQlpZiAocnVubmluZ1Byb2R1Y3QgPiBtYXgpIHsKICAgICAgICAJCQltYXggPSBydW5uaW5nUHJvZHVjdDsKICAgICAgICAJCX0KICAgICAgICAJfQogICAgICAgIH0KICAgICAgICAKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIm1heCA6ICIgKyBtYXgpOwogICAgfQp9