Улитка ползет по вертикальному шесту высотой H метров, поднимаясь за день на A метров, а за ночь спускаясь на B метров. На какой день улитка доползет до вершины шеста?
Пытался решить таким образом:
#include <iostream>
using namespace std;
int main() {
long long int H, A, B;
cin >> H >> A >> B;
cout << (H / (A - B) - (A - (H % (A - B))) / (A - B)) + 1;
return 0;
}
Но программа падает на 5 тесте. Какой же алгоритм решения?
Минимальное n
, при котором
(A - B) * (n - 1) + A >= H
то есть
n = ceiling((H - A) / (A - B)) + 1
#include <iostream>
#include<cmath>
using namespace std;
int main()
{
double a,h,b;
cin>> h>> a>> b ;
double days = ((h-a)>=0) ? h-a:0;
days = ceil(days/(a-b))+1;
cout<<days<<endl;
}
Проблема была в том, что нужно было использовать числа с плавающей точкой и делать округления, вместо использования целых чисел
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть ли что-то "опасное" в том, что два потока будут одновременно инкрементировать одну переменную? Я имею ввиду, может ли произойти такое,...
Когда-то это казалось недостижимымНо пришло время, и даже PVS стал на это ругаться (при сборке 32-битности, само собой - а необходимость в этом...
У меня spring mvcЯ хожу в базу (PostgreSQL) вот так вот : select array_to_json(array_agg(t1)) from shops as t1
Подскажите плагины с помощью которых можно полноценно разрабатывать android приложения