A. Mister B and Book Reading
time limit per test2 seconds
memory limit per test256 megabytes
inputstandard input
outputstandard output
Mister B once received a gift: it was a book about aliens, which he started read immediately. This book had c pages.
At first day Mister B read v0 pages, but after that he started to speed up. Every day, starting from the second, he read a pages more than on the previous day (at first day he read v0 pages, at second — v0 + a pages, at third — v0 + 2a pages, and so on). But Mister B is just a human, so he physically wasn’t able to read more than v1 pages per day.
Also, to refresh his memory, every day, starting from the second, Mister B had to reread last l pages he read on the previous day. Mister B finished the book when he read the last page for the first time.
Help Mister B to calculate how many days he needed to finish the book.
Input
First and only line contains five space-separated integers: c, v0, v1, a and l (1 ≤ c ≤ 1000, 0 ≤ l < v0 ≤ v1 ≤ 1000, 0 ≤ a ≤ 1000) — the length of the book in pages, the initial reading speed, the maximum reading speed, the acceleration in reading speed and the number of pages for rereading.
Output
Print one integer — the number of days Mister B needed to finish the book.
Examples
input
5 5 10 5 4
output
1
input
12 4 12 4 1
output
3
input
15 1 100 0 0
output
15
Note
In the first sample test the book contains 5 pages, so Mister B read it right at the first day.
In the second sample test at first day Mister B read pages number 1 - 4, at second day — 4 - 11, at third day — 11 - 12 and finished the book.
In third sample test every day Mister B read 1 page of the book, so he finished in 15 days.
没理清思路,wa了三发
#include<bits/stdc++.h>
using namespace std;
#define mem(a,b) memset(a,b,sizeof(a))
const int maxn=55;
int a[maxn][maxn];
int n;
int main()
{
int c,v0,v1,a,l;
while(~scanf("%d%d%d%d%d",&c,&v0,&v1,&a,&l))
{
int sum=0;
int i=1;
while(1)
{
if(i==1)
{
int k=v0;
if(k>=v1)
sum+=v1;
else
sum+=k;
}
else
{
int k=v0+(i-1)*a;
if(k>=v1)
{
sum+=(v1-l);
}
else
sum+=(k-l);
}
if(sum>=c)
break;
i++;
}
printf("%d\n",i);
}
return 0;
}