题解:P15040 [UOI 2022 II Stage] 竞赛
思路
思路一
暴力,从
代码
#include<cstdio>
int main()
{
int n,m,w,t;
scanf("%d%d%d%d",&n,&m,&w,&t);
int ans=0;
for(int i=1;;i++)
{
if(t-(i-1)*w<0)break;//第i批进入考场的学生在考试前[t-(i-1)*w]分钟进入考场
else ans+=m;
if(ans>n)
{
ans=n;
break;
}
}
printf("%d",ans);
return 0;
}
由于数据范围较小,此种方法也能 AC。
思路二
思考考试开始前一共有几批学生能进入考场。
若有
因此进入考场的学生总数为
代码
#include<cstdio>
int min(const int &a,const int &b){return (a<b?a:b);}
int main()
{
int n,m,w,t;
scanf("%d%d%d%d",&n,&m,&w,&t);
printf("%d",min(n,(t/w+1)*m));
return 0;
}