Problem p02602 (python)

Fixed submission:
import os
import sys
from io import BytesIO, IOBase

def main():
    t = 1
    for _ in range(t):
        # n = int(input)
        n, k = map(int, input().split())
        nums = list(map(int, input().split()))
        
        start = 0
        for ind in range(k, n):
            if nums[ind] > nums[start]:
                print("Yes")
            else:
                print("No")
            start += 1



        




































# region fastio
BUFSIZE = 8192
class FastIO(IOBase):
    newlines = 0
    def __init__(self, file):
        self._fd = file.fileno()
        self.buffer = BytesIO()
        self.writable = "x" in file.mode or "r" not in file.mode
        self.write = self.buffer.write if self.writable else None
 
    def read(self):
        while True:
            b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
            if not b:
                break
            ptr = self.buffer.tell()
            self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr)
        self.newlines = 0
        return self.buffer.read()
 
    def readline(self):
        while self.newlines == 0:
            b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
            self.newlines = b.count(b"\n") + (not b)
            ptr = self.buffer.tell()
            self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr)
        self.newlines -= 1
        return self.buffer.readline()
 
    def flush(self):
        if self.writable:
            os.write(self._fd, self.buffer.getvalue())
            self.buffer.truncate(0), self.buffer.seek(0)

class IOWrapper(IOBase):
    def __init__(self, file):
        self.buffer = FastIO(file)
        self.flush = self.buffer.flush
        self.writable = self.buffer.writable
        self.write = lambda s: self.buffer.write(s.encode("ascii"))
        self.read = lambda: self.buffer.read().decode("ascii")
        self.readline = lambda: self.buffer.readline().decode("ascii")
sys.stdin, sys.stdout = IOWrapper(sys.stdin), IOWrapper(sys.stdout)
input = lambda: sys.stdin.readline().rstrip("\r\n")
# endregion
 
if __name__ == "__main__":
    main()

Buggy submission (verdict: Runtime Error):
import os
import sys
from io import BytesIO, IOBase

def modularInverse(n, prime) : 
    dp =[0]*(n+1) 
    dp[0] = dp[1] = 1
    for i in range( 2, n+1) : 
        dp[i] = dp[prime % i] *(prime - prime // i) % prime  
    return dp

def main():
    t = 1
    MOD = 10089886811898868001
    dp = modularInverse(2 * 10**5, MOD)
    for _ in range(t):
        # n = int(input)
        n, k = map(int, input().split())
        nums = list(map(int, input().split()))

        prod = 1
        for i in range(k):
            prod = (prod*nums[i])%MOD
        
        prev = prod
        start = 0
        for ind in range(k, n):
            # new = (prev * nums[ind] * modInverse(nums[start], MOD))%MOD
            new = (prev * nums[ind] * dp[nums[start]])%MOD

            if new > prev:
                print("Yes")
            else:
                print("No")

            start += 1
            prev = new






# def gcd(a, b) : 
#     if (a == 0) : 
#         return b 
          
#     return gcd(b % a, a)

# def modInverse(a, m) : 
#     g = gcd(a, m) 
#     if (g != 1) : 
#         return 1/a
#     else : 
#         return power(a, m-2, m)
      
# # To compute x^y under modulo m 
# def power(x, y, m) : 
#     if (y == 0) : 
#         return -1
          
#     p = power(x, y // 2, m) % m 
#     p = (p * p) % m 
  
#     if(y % 2 == 0) : 
#         return p  
#     else :  
#         return ((x * p) % m) 





































# region fastio
BUFSIZE = 8192
class FastIO(IOBase):
    newlines = 0
    def __init__(self, file):
        self._fd = file.fileno()
        self.buffer = BytesIO()
        self.writable = "x" in file.mode or "r" not in file.mode
        self.write = self.buffer.write if self.writable else None
 
    def read(self):
        while True:
            b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
            if not b:
                break
            ptr = self.buffer.tell()
            self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr)
        self.newlines = 0
        return self.buffer.read()
 
    def readline(self):
        while self.newlines == 0:
            b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
            self.newlines = b.count(b"\n") + (not b)
            ptr = self.buffer.tell()
            self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr)
        self.newlines -= 1
        return self.buffer.readline()
 
    def flush(self):
        if self.writable:
            os.write(self._fd, self.buffer.getvalue())
            self.buffer.truncate(0), self.buffer.seek(0)

class IOWrapper(IOBase):
    def __init__(self, file):
        self.buffer = FastIO(file)
        self.flush = self.buffer.flush
        self.writable = self.buffer.writable
        self.write = lambda s: self.buffer.write(s.encode("ascii"))
        self.read = lambda: self.buffer.read().decode("ascii")
        self.readline = lambda: self.buffer.readline().decode("ascii")
sys.stdin, sys.stdout = IOWrapper(sys.stdin), IOWrapper(sys.stdout)
input = lambda: sys.stdin.readline().rstrip("\r\n")
# endregion
 
if __name__ == "__main__":
    main()

Buggy submission (verdict: Runtime Error):
import os
import sys
from io import BytesIO, IOBase

def modularInverse(n, prime) : 
    dp =[0]*(n+1) 
    dp[0] = dp[1] = 1
    for i in range( 2, n+1) : 
        dp[i] = dp[prime % i] *(prime - prime // i) % prime  
    return dp

def main():
    t = 1
    MOD = 10**9 + 7
    dp = modularInverse(2 * 10**5, MOD)
    for _ in range(t):
        # n = int(input)
        n, k = map(int, input().split())
        nums = list(map(int, input().split()))

        prod = 1
        for i in range(k):
            prod = (prod*nums[i])%MOD
        
        prev = prod
        start = 0
        for ind in range(k, n):
            # new = (prev * nums[ind] * modInverse(nums[start], MOD))%MOD
            new = (prev * nums[ind] * dp[nums[start]])%MOD

            if new > prev:
                print("Yes")
            else:
                print("No")

            start += 1
            prev = new






# def gcd(a, b) : 
#     if (a == 0) : 
#         return b 
          
#     return gcd(b % a, a)

# def modInverse(a, m) : 
#     g = gcd(a, m) 
#     if (g != 1) : 
#         return 1/a
#     else : 
#         return power(a, m-2, m)
      
# # To compute x^y under modulo m 
# def power(x, y, m) : 
#     if (y == 0) : 
#         return -1
          
#     p = power(x, y // 2, m) % m 
#     p = (p * p) % m 
  
#     if(y % 2 == 0) : 
#         return p  
#     else :  
#         return ((x * p) % m) 





































# region fastio
BUFSIZE = 8192
class FastIO(IOBase):
    newlines = 0
    def __init__(self, file):
        self._fd = file.fileno()
        self.buffer = BytesIO()
        self.writable = "x" in file.mode or "r" not in file.mode
        self.write = self.buffer.write if self.writable else None
 
    def read(self):
        while True:
            b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
            if not b:
                break
            ptr = self.buffer.tell()
            self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr)
        self.newlines = 0
        return self.buffer.read()
 
    def readline(self):
        while self.newlines == 0:
            b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
            self.newlines = b.count(b"\n") + (not b)
            ptr = self.buffer.tell()
            self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr)
        self.newlines -= 1
        return self.buffer.readline()
 
    def flush(self):
        if self.writable:
            os.write(self._fd, self.buffer.getvalue())
            self.buffer.truncate(0), self.buffer.seek(0)

class IOWrapper(IOBase):
    def __init__(self, file):
        self.buffer = FastIO(file)
        self.flush = self.buffer.flush
        self.writable = self.buffer.writable
        self.write = lambda s: self.buffer.write(s.encode("ascii"))
        self.read = lambda: self.buffer.read().decode("ascii")
        self.readline = lambda: self.buffer.readline().decode("ascii")
sys.stdin, sys.stdout = IOWrapper(sys.stdin), IOWrapper(sys.stdout)
input = lambda: sys.stdin.readline().rstrip("\r\n")
# endregion
 
if __name__ == "__main__":
    main()

Buggy submission (verdict: Runtime Error):
import os
import sys
from io import BytesIO, IOBase

def modularInverse(n, prime) : 
  
    dp =[0]*(n+1) 
    dp[0] = dp[1] = 1
    for i in range( 2, n+1) : 
        dp[i] = dp[prime % i] *(prime - prime // i) % prime  
   
    return dp

# def gcd(a, b) : 
#     if (a == 0) : 
#         return b 
          
#     return gcd(b % a, a)

# def modInverse(a, m) : 
#     g = gcd(a, m) 
#     if (g != 1) : 
#         return 1/a
#     else : 
#         return power(a, m-2, m)
      
# # To compute x^y under modulo m 
# def power(x, y, m) : 
#     if (y == 0) : 
#         return -1
          
#     p = power(x, y // 2, m) % m 
#     p = (p * p) % m 
  
#     if(y % 2 == 0) : 
#         return p  
#     else :  
#         return ((x * p) % m) 

MOD = 10**9 + 7

dp = modularInverse(2 * 10**5, MOD)
def main():
    t = 1
    for _ in range(t):
        # n = int(input)
        n, k = map(int, input().split())
        nums = list(map(int, input().split()))

        prod = 1
        for i in range(k):
            prod = (prod*nums[i])%MOD
        
        prev = prod
        start = 0
        for ind in range(k, n):
            # new = (prev * nums[ind] * modInverse(nums[start], MOD))%MOD
            new = (prev * nums[ind] * dp[nums[start]])%MOD

            if new > prev:
                print("Yes")
            else:
                print("No")
            start += 1
            prev = new



        




































# region fastio
BUFSIZE = 8192
class FastIO(IOBase):
    newlines = 0
    def __init__(self, file):
        self._fd = file.fileno()
        self.buffer = BytesIO()
        self.writable = "x" in file.mode or "r" not in file.mode
        self.write = self.buffer.write if self.writable else None
 
    def read(self):
        while True:
            b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
            if not b:
                break
            ptr = self.buffer.tell()
            self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr)
        self.newlines = 0
        return self.buffer.read()
 
    def readline(self):
        while self.newlines == 0:
            b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
            self.newlines = b.count(b"\n") + (not b)
            ptr = self.buffer.tell()
            self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr)
        self.newlines -= 1
        return self.buffer.readline()
 
    def flush(self):
        if self.writable:
            os.write(self._fd, self.buffer.getvalue())
            self.buffer.truncate(0), self.buffer.seek(0)

class IOWrapper(IOBase):
    def __init__(self, file):
        self.buffer = FastIO(file)
        self.flush = self.buffer.flush
        self.writable = self.buffer.writable
        self.write = lambda s: self.buffer.write(s.encode("ascii"))
        self.read = lambda: self.buffer.read().decode("ascii")
        self.readline = lambda: self.buffer.readline().decode("ascii")
sys.stdin, sys.stdout = IOWrapper(sys.stdin), IOWrapper(sys.stdout)
input = lambda: sys.stdin.readline().rstrip("\r\n")
# endregion
 
if __name__ == "__main__":
    main()