天天看點

Codeforces Round #467 (Div. 2) C. Save Energy!

題目連結

找到一個時間點,這個時間點鍋已經停了。那麼此時可以形成一個周期,然後算出有多少這樣的周期,最後處理一下結尾的點即可。(這麼傻的題想了好久,太弱了)

#include<stdio.h>
#define ll long long
int main()
{
    ll k,d,t;
    while(~scanf("%lld%lld%lld",&k,&d,&t))
    {
        ll T=((k-)/d+)*d;//實際周期
        double oneT=(T-k)*0.+k;//一個周期飯熟了多少
        ll p=t/oneT;//需要的周期數
        double ans=;
        ans+=(p*T);
        double ant=t-p*oneT;
        if(ant<=k) ans+=ant;
        else ans+=(ant-k)*2+k;
        printf("%.1lf\n",ans);
    }
    return ;
}