Discussion
Coconut is Captain Gangplank’s favourite fruit. That is why he needs to drink coconut
juice from b coconuts each day.
On his next trip, he would pass through N citis.
His trip would begin in the 1-st city and end in the N-th city.
The journey from the i-th city to the (i + 1)-th city costs D days.
Initially, there is no coconut on his ship. Fortunately, he could get supply of C coconuts
from the i-th city.
Could you tell him, whether he could drink coconut juice every day during the trip no
not?
juice from b coconuts each day.
On his next trip, he would pass through N citis.
His trip would begin in the 1-st city and end in the N-th city.
The journey from the i-th city to the (i + 1)-th city costs D days.
Initially, there is no coconut on his ship. Fortunately, he could get supply of C coconuts
from the i-th city.
Could you tell him, whether he could drink coconut juice every day during the trip no
not?
Input Format
The first line contains an integer T, indicating that there are T test cases.
For each test case the first line contains two integers N and b as described above.
The second line contains N integers C , C ,⋯, C .
The third line contains N − 1 integers D , D ,⋯, D .
All integers in the input are less than 1000.
For each test case the first line contains two integers N and b as described above.
The second line contains N integers C , C ,⋯, C .
The third line contains N − 1 integers D , D ,⋯, D .
All integers in the input are less than 1000.
Output Format
For each case, output Yes if Captain Gangplank could drink coconut juice every day,and otherwise output No.
Sample Input
2
4 1
3 2 1 4
1 2 3
4 2
2 4 6 8
3 2 1
4 1
3 2 1 4
1 2 3
4 2
2 4 6 8
3 2 1
Sample Output
Yes
No
No
题意:
船长将要旅行N个城市,从i到第i+1个城市需要Di天,路过的第i个城市受供Ci个椰子,每天需要吃b个椰子,问船长是否每天都能吃到椰子。
思路:
根据题意,简单模拟。
code:
#include <iostream>
#include <algorithm>
#include <cstdio>
int cd[2][1005];
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n,b,sum=0;
scanf("%d%d",&n,&b);
for(int i=0;i<n;i++)
{
scanf("%d",&cd[0][i]);
}
for(int i=0;i<n-1;i++)
{
scanf("%d",&cd[1][i]);
}
cd[1][n-1]=0;
int i;
for(i=0;i<n;i++)//cities
{
sum+=cd[0][i];
sum-=b*cd[1][i];
if(sum<0)
{
break;
}
}
if(i==n)
printf("Yes\n");
else
printf("No\n");
}
}