1 条题解

  • 0
    @ 2026-1-14 19:52:47
    #include<bits/stdc++.h>
    using namespace std;
    long long a,b,c;  // [1] a-周一至周五每天节省的钱数,b-周六和周日每天节省的钱数,c-目标存款金额(需达到或超过)
    
    int main(){
        cin>>a>>b>>c;  // [2] 输入三个正整数a、b、c,依次对应工作日日存金额、周末日存金额、目标金额
        long long z=a*5+b*2;  // [3] z-计算一周(7天)总共能节省的钱数(5个工作日+2个周末)
        long long t=c/z*7;    // [4] t-先计算目标金额包含多少个完整的周,对应初始天数(完整周数×7)
        long long sum=t/7*z;  // [5] sum-计算这些完整周累计节省的总钱数
        
        // 逐天累加存款,直到总金额≥目标金额c
        while(sum<c){
            t++;  // [6] 天数加1,开始统计非完整周的天数
            // 判断当前天数对应的星期(t%7:1-5为工作日,6/0为周末)
            if(t%7>=1 && t%7<=5){
                sum+=a;  // [7] 工作日,累加工作日日存金额a
            }else{
                sum+=b;  // [8] 周末,累加周末日存金额b
            }
        }
        cout<<t;  // [9] 输出达到目标金额所需的总天数
        return 0;
    }
    
    • 1

    信息

    ID
    1453
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    递交数
    1
    已通过
    1
    上传者