Tonya 是一名忠实的《红色警戒 2》玩家。
一天,Tonya 正在全神贯注地操纵她的十八路大军与敌人血战,却不知怎么被吸入了游戏之中。
“Show me the way!”
迎面冲来的敌人向她喊道。
“It's fantastic!”
她大笑起来,双枪挥舞。
Tonya 的枪很厉害,一发子弹就可以击杀一名敌人;可是它需要冷却时间,只有在枪的冷却时间之外才能击杀敌人。
具体来说,一共有 n 名敌人,如果在第 x 秒发射一发子弹击杀了一名敌人,且枪的冷却时间为 c 秒,则 Tonya 的下一次射击时间就是在第 x+c 秒。很显然,为了击杀尽可能多的敌人,每次可以射击的时间内 Tonya 一定都会射击。
现在的时间为第 0 秒,敌人的援军会在第 t 秒时到达战场,且 Tonya 的枪内已经装好了子弹,请问 Tonya 能否在敌人的援军到达之前击杀所有的敌人?
如果可以,则输出 Tonya 击杀所有敌军之后的时间;如果不能,则输出 Tonya 最多能击杀多少个敌人。
一行三个正整数 n,c,t,分别表示敌人的数量,枪的冷却时间和敌人援军到达的时间。
一行一个整数。
如果可以在援军到达之前击杀所有敌军,则输出击杀所有敌军之后的时间;如果不行,则输出最多能击杀多少敌人。
5 1 10
4
4 3 9
3
对于样例 1,Tonya 会在第 0,1,2,3,4 秒分别击杀一个敌人,则第 4 秒时 Tonya 会击杀所有敌人,且此时援军并未到达。
对于样例 2,Tonya 会在第 0,3,6 秒分别击杀一个敌人,但第 9 秒时敌人援军已经到来,故 Tonya 无法击杀第 4 个敌人,最多只能击杀 3 个敌人。
| 子任务序号 | 说明 | 分值 |
|---|---|---|
| #1 | n,c≤103,106<t≤107 | 30 |
| #2 | n,t≤106 | 30 |
| #3 | 无特殊要求 | 40 |
对于 100% 的数据,1≤n,t≤1012,1≤c≤103。
#include<bits/stdc++.h>
using namespace std;
long long n,c,t;
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin>>n>>c>>t;
if((t-1)/c+1>n)cout<<n*c-1;
else cout<<(t-1)/c+1;
return 0;
}