Codeforces Round #436 (Div. 2), problem: (C) Bus
Posted LMissher
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces Round #436 (Div. 2), problem: (C) Bus相关的知识,希望对你有一定的参考价值。
#include <cstdio>
int main(){
long long a,b,f,k,i,tot,s[11000],cnt;
scanf("%lld%lld%lld%lld",&a,&b,&f,&k);
tot=0,s[tot]=0,cnt=0;
while(cnt<k*a){
tot++;
if(tot%2==0){
cnt+=a;
s[tot]=cnt-f;
}
else{
cnt+=a;
s[tot]=cnt-a+f;
}
}
tot++;
s[tot]=k*a;
cnt=0;
int ans=0,flag=1;
for(int i=1;i<=tot;i++){
//printf("%d\n",s[i]);
if(s[i]-s[cnt]<=b){
continue;
}
else{
if(i-cnt==1){
flag=0;
break;
}
else{
cnt=i-1;
i=i-1;
ans++;
}
}
//printf("%d\n",ans);
}
flag==1?printf("%d\n",ans):printf("-1\n");
return 0;
}
以上是关于Codeforces Round #436 (Div. 2), problem: (C) Bus的主要内容,如果未能解决你的问题,请参考以下文章
Codeforces Round #436 (Div. 2)
[Codeforces] Round #436 (Div. 2)