CF820A题解

修改日志

2022/11/13:2022/11/13: 对解法进一步的说明。

提示

数据范围:1c1000,0l<v0v11000,0a10001\le c\le 1000,0\le l\lt v_0\le v_1\le 1000,0\le a\le 1000

正解

由于数据范围很小,cc 最多不超过 10001000,由于一天至少可以看一页,所以天数肯定 1000\le 1000,考虑模拟。

枚举每一天,将 cc 减去这一天应该看的天数 min(v0+a×(ans1),v1)\min(v_0+a\times(ans-1),v_1),其中 ansans 是天数,注意当 ans1ans\ne 1 时,cc 要再 +l+l(第一天不用复习)。

最后直到 c0c\le 0,输出 ansans

代码

#include<bits/stdc++.h>
using namespace std;
int c,v0,v1,a,l,ans; 
int main(){
	scanf("%d%d%d%d%d",&c,&v0,&v1,&a,&l);
	do{
		ans++;
		if(ans==1) c-=min(v0+a*(ans-1),v1);
		else c-=min(v0+a*(ans-1),v1)-l;
	}while(c>0);
	return !printf("%d",ans);
}
posted @ 2022-11-03 15:24  fengxiaoyi  阅读(18)  评论(0)    收藏  举报  来源