import java.util.Scanner;
class test {
private double dp[];//用来存储每段的最短时间
private double p[];//用来存储每个充电站点离起点的距离
private int n,c,t;
private double vr,vt1,vt2;
private double Length;
public boolean Solution(){
System.out.print("请输入每个站点离起点的距离:");
Scanner iner=new Scanner(System.in);
for(int i=1;i<=this.n;++i){
p[i]=iner.nextInt();
}
double curTime=0;
for(int i=1;i<=this.n+1;++i){
double minTime=100000.0;
for(int j=0;j<i;++j){
if(c>p[i]){ //判断充满电后的距离能不能直接过站点
curTime=p[i]/vt1;
}else{
curTime=c/vt1+(p[i]-c)/vt2; //不加油的时间
}
//过站点时要分两种情况--一是加油,二是不加油
if(j>0){ //考虑加油的情况
//1.加油时间上,加t秒
//2.提速时间上,减x秒
curTime=dp[i-1];
curTime+=t;
if(p[i]-p[i-1] > c){
curTime+=c/vt1+(p[i]-p[i-1]-c)/vt2;
}
else{
curTime+=(p[i]-p[i-1])/vt1;
}
}
if(curTime<minTime){ //然后再对两者进行比较
minTime=curTime;
}
}
dp[i]=minTime;
}
int Time= (int) (this.Length / vr);
if(dp[this.n+1]<Time){
System.out.println("What a pity rabbit!");
}else{
System.out.println("Good job,rabbit!");
}
iner.close();
return true;
}
public test(int l,int x,int y,int z,int k,int m,int n){
this.Length=l;
this.n=x;this.vr=k;
this.c=y;this.vt1=m;
this.t=z;this.vt2=n;
p=new double[this.n+2];
dp=new double[this.n+2];
p[0]=0;p[this.n+1]=l;
}
}
public class rabbit{
public static void main(String[] args) {
test space=new test(100,3,5,1,10,20,5);
space.Solution();
}
}