import
java.util.Arrays;
import
java.io.*;
class
GFG {
static
void
maxProductSum(String str,
int
m)
{
int
n = str.length();
int
product =
1
, sum =
0
, ZeroesInWindow=
0
;
for
(
int
i =
0
; i < m; i++)
{
sum += (str.charAt(i) -
'0'
);
if
(str.charAt(i)!=
'0'
)
product *= (str.charAt(i) -
'0'
);
else
ZeroesInWindow++;
}
int
maxProd =
0
;
if
(ZeroesInWindow==
0
)
maxProd = product;
int
maxSum = sum;
for
(
int
i = m; i < n; i++)
{
if
(str.charAt(i)!=
'0'
&& str.charAt(i-m)!=
'0'
)
product = product * (str.charAt(i) -
'0'
) / ((str.charAt(i-m)) -
'0'
);
else
if
(str.charAt(i)!=
'0'
&& str.charAt(i-m)==
'0'
)
{
product = product * (str.charAt(i) -
'0'
);
ZeroesInWindow--;
}
else
if
(str.charAt(i)==
'0'
&& str.charAt(i-m)!=
'0'
)
{
product = product / (str.charAt(i-m) -
'0'
);
ZeroesInWindow++;
}
if
(ZeroesInWindow==
0
)
maxProd = Math.max(maxProd, product);
sum = sum + (str.charAt(i) -
'0'
) - ((str.charAt(i-m)) -
'0'
);
maxSum = Math.max(maxSum, sum);
}
System.out.println(
"Maximum Product = "
+ maxProd);
System.out.println(
"\nMaximum Sum = "
+ maxSum);
}
public
static
void
main (String[] args) {
String str =
"3601990545"
;
int
m =
3
;
maxProductSum(str, m);
}
}