Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -104,6 +104,52 @@ def execute_python(code):
|
|
| 104 |
sys.stdout = sys.__stdout__
|
| 105 |
return output.getvalue()
|
| 106 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 107 |
def execute_cpp(code):
|
| 108 |
write_output(code)
|
| 109 |
try:
|
|
|
|
| 104 |
sys.stdout = sys.__stdout__
|
| 105 |
return output.getvalue()
|
| 106 |
|
| 107 |
+
#example python code
|
| 108 |
+
python_hard = """# Be careful to support large number sizes
|
| 109 |
+
|
| 110 |
+
def lcg(seed, a=1664525, c=1013904223, m=2**32):
|
| 111 |
+
value = seed
|
| 112 |
+
while True:
|
| 113 |
+
value = (a * value + c) % m
|
| 114 |
+
yield value
|
| 115 |
+
|
| 116 |
+
def max_subarray_sum(n, seed, min_val, max_val):
|
| 117 |
+
lcg_gen = lcg(seed)
|
| 118 |
+
random_numbers = [next(lcg_gen) % (max_val - min_val + 1) + min_val for _ in range(n)]
|
| 119 |
+
max_sum = float('-inf')
|
| 120 |
+
for i in range(n):
|
| 121 |
+
current_sum = 0
|
| 122 |
+
for j in range(i, n):
|
| 123 |
+
current_sum += random_numbers[j]
|
| 124 |
+
if current_sum > max_sum:
|
| 125 |
+
max_sum = current_sum
|
| 126 |
+
return max_sum
|
| 127 |
+
|
| 128 |
+
def total_max_subarray_sum(n, initial_seed, min_val, max_val):
|
| 129 |
+
total_sum = 0
|
| 130 |
+
lcg_gen = lcg(initial_seed)
|
| 131 |
+
for _ in range(20):
|
| 132 |
+
seed = next(lcg_gen)
|
| 133 |
+
total_sum += max_subarray_sum(n, seed, min_val, max_val)
|
| 134 |
+
return total_sum
|
| 135 |
+
|
| 136 |
+
# Parameters
|
| 137 |
+
n = 10000 # Number of random numbers
|
| 138 |
+
initial_seed = 42 # Initial seed for the LCG
|
| 139 |
+
min_val = -10 # Minimum value of random numbers
|
| 140 |
+
max_val = 10 # Maximum value of random numbers
|
| 141 |
+
|
| 142 |
+
# Timing the function
|
| 143 |
+
import time
|
| 144 |
+
start_time = time.time()
|
| 145 |
+
result = total_max_subarray_sum(n, initial_seed, min_val, max_val)
|
| 146 |
+
end_time = time.time()
|
| 147 |
+
|
| 148 |
+
print("Total Maximum Subarray Sum (20 runs):", result)
|
| 149 |
+
print("Execution Time: {:.6f} seconds".format(end_time - start_time))
|
| 150 |
+
"""
|
| 151 |
+
|
| 152 |
+
|
| 153 |
def execute_cpp(code):
|
| 154 |
write_output(code)
|
| 155 |
try:
|