当前位置 博文首页 > 美迪的麦柯的博客:Java下起楼来我最快

    美迪的麦柯的博客:Java下起楼来我最快

    作者:[db:作者] 时间:2021-08-17 21:39

    学生程序设计竞赛

    标题Problem E: 下起楼来我最快

    Time Limit: 1 Sec Memory Limit: 128 MB

    Description

    王尼玛是一名机智的程序员,他的机智主要表现在他下楼的速度特别快( > c < )。王尼玛的家住在第n层,他可以选择从电梯下楼或者走楼梯下楼。

    当前电梯停在第m层,如果他从电梯下到第1层,需要:电梯先到达这一层->开门->关门->电梯再到达第一层->开门(最后的开门时间也要计算在内)。

    现在告诉你:王尼玛的家在楼层n,当前电梯停在的楼层m,以及电梯每经过一层楼的时间t1,开门时间t2,关门时间t3,还有王尼玛每下一层楼的时间t4,让你帮王尼玛计算一下,他最快到达第1层的时间。

    Input

    输入包含多组测试用例,每组数据占两行:第一行两个整数n,m,其中n表示王尼玛家在的楼层,m表示当前电梯停在的楼层,第二行四个整数,t1,t2,t3,t4,其中t1表示电梯每经过一层楼的时间,t2表示开门时间,t3表示关门时间,t4表示王尼玛每下一层楼的时间。

    数据保证:1≤n, m≤100000,1≤t1,t2,t3,t4≤100000

    Output

    每组数据输出一行,含有一个时间,表示王尼玛最快到达第1层的时间。

    Sample Input Copy

    5 10
    1 5 5 4
    5 10
    1 1 1 4

    Sample Output Copy

    16
    12

    import java.util.*; 
    public class   Main{
    
    	public static void main(String[] args) {
            Scanner sc=new Scanner(System.in);
            while(sc.hasNext())
            {
                long n=sc.nextLong();   
                long m=sc.nextLong();   
                long t1=sc.nextLong();long t2=sc.nextLong(); 
                long t3=sc.nextLong();  long t4=sc.nextLong();
                 
                long time1=(n-1)*t4;
                long time2;       
                if(m>n)
                 	time2=t1*(m-1)+2*t2+t3;
                else  if(m<n)
                     time2=(2*n-m-1)*t1+2*t2+t3;
                else
                    time2=t1*(n-1)+2*t2+t3;
                     
                long minTime=(time1<time2)?time1:time2;		
                
                System.out.println(minTime);                     
           }
            
        }
    }
    

    运行结果:

      	Problem: XXXX
        User: XXXXXXXXXXX
        Language: Java
        Result: Accepted
        Time:118 ms
        Memory:10308 kb
    

    END

    cs
    下一篇:没有了