public static double CalculateNextWaitTime(double currentWaitTime)
const double MAX_WAIT_TIME = 3600;
const double BASE_INCREASE = 1.0;
const double GROWTH_FACTOR = 0.35;
double increase = BASE_INCREASE + (currentWaitTime * GROWTH_FACTOR);
double nextWaitTime = currentWaitTime + increase;
return Math.Min(nextWaitTime, MAX_WAIT_TIME);
public static void Main()
Console.WriteLine("Hello World");
for (int i = 0; i < 100; i++)
Console.WriteLine("Wait time: " + waitTime/60);
waitTime = CalculateNextWaitTime(waitTime);