zoukankan      html  css  js  c++  java
  • CF18 B. Platforms

    Problem - 18B - Codeforces

    题意:

    有n个长为l的木板,第i个木板的起始位置在(i-1)*m

    你的初始位置为0,每次跳跃距离为d

    每次的落点在木板上才可以继续跳,问在哪个位置掉下去

    记录到达一个木板的位置

    设现在的位置为now,所在木板的右端点为r

    那么(r-now)/d就是在这个木板还能跳跃的次数

    (r-now+d)/d就是到下一个木板还需要的跳跃次数

    再*d就是到下一个木板落点还需要的距离

    如果落点在木板左端点左侧,就会掉下去

    #include<cstdio>
    
    int main()
    {
        int n,d,m,l;
        scanf("%d%d%d%d",&n,&d,&m,&l);
        long long now=0,r;
        for(long long i=1;i<=n+1;++i)
        {
            if(now<(i-1)*m || i>n) break;
            r=(i-1)*m+l;
            if(r>=now) now+=(r-now+d)/d*d;
        }
        printf("%lld",now);
    }
    作者:xxy
    本文版权归作者和博客园共有,转载请用链接,请勿原文转载,Thanks♪(・ω・)ノ。
  • 相关阅读:
    内存
    jmeter设置全局变量
    tomcat(1)
    JVM(一)
    内存溢出
    消息中间件
    上下文切换(二)
    平均负载(二)
    requests模块
    Pycharm如何配置Git
  • 原文地址:https://www.cnblogs.com/TheRoadToTheGold/p/15362416.html
Copyright © 2011-2022 走看看