1 solutions

  • 1
    @ 2025-11-15 12:23:02

    # 此题有两株做法

    做法 1


    考虑 n≤10^6,所以我们可以暴力枚举接下来 n 天,对齐判断是星期几,如果不是周末就将最终答案加250。

    int ans=0;
    for(int i=1,j=x;i<=n;i++,j++){
      if(j<=5)ans+=250;
      if(j==7)j=0;
    }
    

    做法 2


    考虑每 7 天游的路程相同,均为 1250,我们只需要处理两边不满 7 天的天数即可。左面不满七天的天数是 8−x 天,可以有用的是 max(6−x,0) 天。总天数 n 要减去 8−x。右面剩余的天数是 n mod 7,可以游泳的天数为 min(n mo d7,5) 天。计算答案即可。

    int pre=max(6-x,0);
    n-=8-x;
    int ans=pre*150+n/7*1250+min(n%7,5)*150;
    
    
    

    Information

    ID
    531
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    10
    Tags
    (None)
    # Submissions
    2
    Accepted
    2
    Uploaded By