贝兰(Berland)足球赛季刚刚结束。根据Berland足球规则,每场比赛在两支球队之间进行。每场比赛的结果要么是平局,要么是其中一支比赛队的胜利。如果某支球队赢得比赛,则得到w分,而另一支球队得到0分。如果比赛结果为平局,则两队都将获得d点。
Berland资本团队的经理想总结本赛季的结果,但是不幸的是,有关每场比赛结果的所有信息都丢失了。经理只知道球队打了n场比赛,并为他们赢得了p分。
您必须确定三个整数
x
,y
和z
-球队的胜负数。如果有多个答案,请打印其中的任何一个。如果没有合适的三元组 [x,y,z) [x,y,z) ,对此进行报告。
上面的链接包含了完整的问题
n,p,w,d=map(int,input().split())
z=0
left=n
x=0
***while(z<=w) :***
left=p-z*d
if(left%w==0) :
x=left//w
break
z+=1
if(x+z>n) :
print("-1")
elif(x<=0 and z*d!=p) :
print("-1")
else :
print(x,z,n-x-z)
不了解while循环条件。按照我的逻辑,A / c应该为 while(left <= 0) ,但显示大输入的TLE。
为什么当 z <= w 时必须停止,我的意思是我们也可以在此点后获得红利