洛谷 P5709:Apples Prologue / 苹果和虫子
【题目来源】
https://www.luogu.com.cn/problem/P5709
【题目描述】
小 B 喜欢吃苹果。她现在有 m(1≤m≤100)个苹果,吃完一个苹果需要花费 t(0≤t≤100)分钟,吃完一个后立刻开始吃下一个。现在时间过去了 s(1≤s≤10000)分钟,请问她还有几个完整的苹果?
【输入格式】
输入三个非负整数表示 m,t,s。
【输出格式】
输出一个整数表示答案。
【输入样例】
100 0 1
【输出样例】
0
【算法分析】
● 若 t=0,说明一瞬间可以吃完所有的苹果。
● 若 t≠0,且 s%t 等于 0,那么剩余的完整苹果为 max(0, m-s/t) 个;若 t≠0,且 s%t 不等于 0,那么剩余的完整苹果为 max(0, m-s/t-1) 个。
● 剩余完整苹果数,之所以要与 0 比较大小,原因在于若给定的时间 s 大于吃完所有苹果的时间,那么此时 m-s/t 及 m-s/t-1 的结果为负数,显然不符合实际。因为剩余的苹果个数不可能为负数。所以需和 0 比大小。
【算法代码】
#include<bits/stdc++.h>
using namespace std;
int main() {
int m,t,s;
cin>>m>>t>>s;
if(t==0) cout<<0<<endl;
else {
if(s%t==0) cout<<max(0,m-s/t)<<endl;
else cout<<max(0,m-s/t-1)<<endl;
}
}
/*
in:
100 0 1
out:
0
*/
【参考文献】
https://www.luogu.com.cn/problem/solution/P5709