diff --git a/poc/main.py b/poc/main.py new file mode 100644 index 0000000..0b8bfdc --- /dev/null +++ b/poc/main.py @@ -0,0 +1,48 @@ +from sys import stdin, stdout +import time + +class Bucket: + def __init__(self, N, R): + self.q = 0.0 + self.N = N + self.R = R + self.__last = 0 + + def push(self): + return self.__push_c(1) + + def __push_c(self, c): + self.__pop() + if self.q+c > self.N: + return False + self.q += c + return True + + def __pop(self): + now = self.__now() + remove_up_to = (now - self.__last) / self.R + if remove_up_to > self.q: + remove_up_to = self.q + self.q -= remove_up_to + self.__last = now + + def __now(self): + return time.time() + +def main(stream): + bucket = Bucket(3, 1) + + while readline(): + print(bucket.push(), file=stdout) + print(f'q={bucket.q}, N={bucket.N}, R={bucket.R}', file=stdout) + stdout.flush() + +def readline(): + try: + line = input() + return True + except EOFError: + return False + +if __name__ == "__main__": + main(stdin)