1 solutions
-
1
# 此题有两株做法
做法 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;
- 1
Information
- ID
- 531
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 10
- Tags
- (None)
- # Submissions
- 2
- Accepted
- 2
- Uploaded By