Əgər n = 0 olarsa, cavab -dır.
Əgər tostların sayı tavaların tutumundan çox deyilsə k~(n \le k), bütün tostları hər iki tərəfdən qızartmaq üçün dəqiqə tələb olunur.
Hər tost hər iki tərəfdən qızardılmalıdırsa, ümumilikdə qızartma lazımdır. Hər qızartma (tavaya eyni anda tost yerləşdirə bilmək) dəqiqə davam edir.
Nəticə etibarilə, əgər n > k olarsa, bütün tostları qızartmaq üçün minimal vaxt 2 \cdot \lceil 2n / k \rceil dəqiqəyə bərabərdir.
Nümunə
Tutaq ki, n = 3 tost var və tava eyni anda k = 2 tost yerləşdirə bilir. Tostların tərəflərini 1a, 1b, 2a, 2b, 3a, 3b kimi ifadə edək.
Beləliklə bütün tərəfi dəqiqədə qızartmaq mümkündür:
Birinci qızartma: və 2a - 2 dəqiqə;
İkinci qızartma: və 3a - 2 dəqiqə;
Üçüncü qızartma: və 3b - 2 dəqiqə;
Cəmi: qızartma hər biri dəqiqədən, yəni dəqiqə.
Alqoritmin reallaşdırılması
Giriş məlumatlarını oxuyuruq.
scanf("%d %d",&n,&k);Əgər n = 0 olarsa, cavab -dır.
if (!n) res = 0; elseƏgər tostların sayı tavaların tutumundan çox deyilsə, onları qızartmaq üçün dəqiqə lazımdır.
if (n <= k) res = 4; else
{Hər tost hər iki tərəfdən qızardılmalıdır, yəni ümumilikdə tərəf qızardılmalıdır. Bir qızartma (tavada yerləşdirilə bilən tostların sayından asılı olmayaraq) dəqiqə davam edir.
res = 2 * n / k;
if (2 * n % k) res++;
res *= 2;
}Cavabı çap edirik.
printf("%d\n",res);Java da reallaşdırma
import java.util.*;
public class Main
{
public static void main(String []args)
{
Scanner con = new Scanner(System.in);
int n = con.nextInt();
int k = con.nextInt();
int res;
if (n == 0) res = 0; else
if (n <= k) res = 4; else
{
res = 2 * n / k;
if (2 * n % k > 0) res++;
res *= 2;
}
System.out.println(res);
con.close();
}
}