题解:P14056 七休制

· · 题解

题解:P14056 七休制

题目传送门

分析

为了使疲劳度为 0 时的天数最多,有如下策略:

先休息休息 b 天,保持疲劳度为 0,然后每天交替安排加训加训和颓废颓废(共 \min(a,c) 组,每组都有一天疲劳度为 0),这样过 2\min(a,c) 天后,最后颓废颓废或加训加训其一的天数被用完了,接下来只能一直使用没有用完的那种安排,但不管怎样,都不能再使疲劳度为 0。共 b+\min(a,c) 天劳度为 0

举个例子,当 a=6,b=1,c=4 时,策略为:

天数 1 2 3 4 5 6 7 8 9 10 11
安排 休息休息 加训加训 颓废颓废 加训加训 颓废颓废 加训加训 颓废颓废 加训加训 颓废颓废 加训加训 加训加训
疲劳度 0 1 0 1 0 1 0 1 0 1 2

其中,有 5 天疲劳度为 0

代码

#include<bits/stdc++.h>
using namespace std;
int a,b,c;
int main(){
    cin>>a>>b>>c;
    cout<<b+min(a,c);
    return 0;
}

感谢管理员审核qwq。