Alice and Bob are on Bikes URAL - 2105

Alice和Bob在一个圆形路径上骑自行车,路径长度为L,分别以速度vA和vB行驶。他们从同一地点出发,但方向相反。当他们在途中相遇时,会愉快地打招呼。然而,他们有时会停下来喂松鼠。本篇分析了在给定的时间内,考虑到喂松鼠的间隔,Alice和Bob相遇的次数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Alice and Bob, after played enough and completely figured out the game with colored strip, decided to ride bikes around the fountain on a circular path of length L. Alice rides with a speed v A, Bob — with a speed v B, and they have started in different directions. At the initial moment the kids were in the same point. When they “meet” (i.e., at some moment they are in the same point as in the previous were not), they joyfully exclaim (“Oh, Bob!” or “Oh, Alice!” respectively). But sometimes along the way, the kids stop to feed the squirrels. Find, how many times Alice and Bob “have met”.

Input

The first line contains integers LTv A, and v B that are the length of the path, the riding time and the speed of Alice and Bob, respectively (1 ≤ L ≤ 10 9; 1 ≤ T≤ 10 6; 1 ≤ v Av B ≤ 10 3).

The next line contains a single integer n, that is the number of intervals in which children were feeding squirrels (0 ≤ n ≤ 10 5) . The next n lines describe those intervals. Each description consists of three integers: type i t i d i, meaning who was feeding (1 for Alice and 2 for Bob), at what moment the feeding started and how much time it lasted, respectively (0 ≤ t id i ≤ Tt i + d i ≤ T) .

It is guaranteed that for one kid any two intervals intersect in no more than one point. The intervals are given in order of non-decreasing t i.

Output

Output the number of “meetings” of Alice and Bob.

Example

 

 

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

int main()
{
    ll l,t,va,vb,m,f,x,y;
    cin>>l>>t>>va>>vb;
    ll ta,tb;
    ta=tb=t;
    scanf("%lld",&m);
    while(m--)
    {
        cin>>f>>x>>y;
        if(f==1) ta-=y;
        if(f==2) tb-=y;
    }
    ll ans = (va*ta+vb*tb)/l;
    printf("%lld\n",ans);
    return 0;
}
inputoutput
10 10 2 1
3
1 1 1
1 2 2
2 2 1

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值