题解:本题在比赛中A了,主要是模拟特判,考细心。
代码如下:
#include<iostream>
using namespace std;
long long t,n,l,r,x,k,ans=0,dang,v,i,j=1;
int a,b,bo;
bool w=0;
int main()
{
cin>>t>>n>>l>>r>>x>>k;
dang=1;v=l;bo=k;
for(i=1;i<=t;i++)
{
cin>>a>>b;
if(a==0&&dang==n&&w==0){cout<<"-1";cin>>n;return 0;}
if(a==1&&dang==1&&w==0){cout<<"-1";cin>>n;return 0;}
if(a==0&&dang!=n&&w==0){dang++;v=l;}
if(a==1&&dang!=1&&w==0){dang--;v=r;}
if(b==1&&w==0){v+=x;v=min(r,v);}
if(v==r&&bo!=0)bo--;
if(v!=r)bo=k;
if(w==0)ans+=dang*v;
if(v==r&&bo==0)w=1;
j++;
}
cout<<ans;
return 0;
}