用一个变量保存当前时间,过一遍所有路口
利用当前时间和 t 的差值以及对r+y+g的取模,计算当前路口的状态
要用long long 型变量
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
typedef long long ll;
int main()
{
ll r,y,g,n,k,t;
ll ans=0;
scanf("%lld%lld%lld",&r,&y,&g);
ll sum=r+y+g;
scanf("%lld",&n);
while(n--)
{
scanf("%lld%lld",&k,&t);
if(k==0)
{
ans+=t;
}
else if(k==1)
{
t-=ans;
t=(t%sum+sum)%sum;
if(t>r)
{
t-=r;
if(t<=y)
{
ans+=t+r;
}
}
else
{
ans+=t;