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 E

Codeforces Round #436 (Div. 2)

[Codeforces] Round #436 (Div. 2)

Codeforces Round #436 (Div. 2)ABCDE

Codeforces Round #436 C. Bus

Codeforces Round #436 A. Fair Game