这是一道简单的模拟题。
考虑模拟这道题所需要的变量,档位,转速,连续转速为r的时间,以及输入的变量。
分别写x,y为多少的情况,最后模拟出来就可以了。
#include<iostream>
#include<cstdio>
using namespace std;
long long t,n,l,r,x,k;
long long dang,zuan,pan;
long long ans;
int main()
{
scanf("%lld%lld%lld%lld%lld%lld",&t,&n,&l,&r,&x,&k);
dang=1;zuan=l;
for(int i=1;i<=t;i++)
{
int x1,y1;
scanf("%d%d",&x1,&y1);
if(x1==0)
{
dang++;zuan=l;
if(dang>n)
{
cout<<-1;return 0;
}
}
if(x1==1)
{
dang--;zuan=r;
if(dang==0)
{
cout<<-1;return 0;
}
}
if(y1==1) zuan=min(zuan+x,r);
if(zuan==r)
{
pan++;
if(pan==k)
{
ans+=dang*zuan;
cout<<ans;
return 0;
}
}
else pan=0;
ans+=dang*zuan;
}
cout<<ans;
return 0;
}