Gözlənilan vaxtını təyin edək, hansı ki təhlukəsiz yerə otağı tərk etmək imkanını verir. Bu vaxt aşağıdakı kimi ifadə edilir:
burada t_i — i-ci qapını seçdikdə təhlukəsiz yerə çıxma vaxtıdır. Aydındır ki, t_i = x_i əgər x_i > 0; əgər x_i < 0, tərk etmək üçün əvvəlcə -x_i vaxtını otağa qayıtmağa sərf etməli və sonra çıxışa yenidən cəhd üçün vaxtını sərf etməli. Amma, bu halda t_i = -x_i + P.
Nəticədə isə üçün xətti tənlik əldə edirik. Bu tənliyi qurmaq və həll etmək vaxt aparır, burada — qapıların sayıdır.
Nümunə
Birinci testi nəzərdən keçirək:
buradan 0.33 \cdot P = 3.35 və ya P = 10.151515.

Alqoritmin realizasiyası
Xətti tənliyin həllini aşağıdakı kimi aparacağıq. çarpanını ehtiva edən bütün elementləri sol tərəfə keçiririk və onların əmsallarını dəyişənində saxlayırıq. Bütün sabitlər sağ tərəfdə toplanır və dəyişənində saxlanılır. İlkin olaraq left = 1 və right = 0 olaraq təyin edirik.
Oxuyuruq cüt ədədi və .
Əgər x > 0, sağ tərəfi x \cdot p ilə artırırıq.
Əgər x < 0, sağ tərəfdə p \cdot (-x + P) elementi yaranır. Bu halda, sağ tərəfə p \cdot (-x) artırmalı və sol tərəfdən çıxmalıyıq.
left = 1.0; right = 0.0;
scanf("%d",&n);
for(j = 0; j < n; j++)
{
scanf("%lf %lf",&x, &p);
if (x < 0.0)
{
left -= p;
right += p * (-x);
} else
right += x * p;
}Nəticədə left \cdot P = right tənlik alırıq. Əgər left = 0, otağı tərk etmək mümkün deyil (təhlukəsiz yerə aparan qapı yoxdur). Əks halda, axtarılan vaxt P = right / left kimi hesablanır.
if (left > 0.0)
{
res = right / left;Cavabı təqdim edirik. dəyişənilə testin nömrəsi uyğun gəlir.
printf("Case %d: %.2lf\n",i,res);
} else
printf("Case %d: God! Save me\n",i);