题解 P5259【欧稳欧再次学车】
作者:互联网
实际上没什么可说的,暴力大模拟就好。
一定要开long long!
一定要开long long!
一定要开long long!
(不然会炸数据的!!!)
//Stand up for the faith!
#include<bits/stdc++.h>
#define LL long long
#define US unsigned
US LL t,n,l,r,x,k;
US LL a,b,v,dang=1;
US LL sec=0,move=0;
using namespace std;
int main()
{
scanf("%lld%lld%lld",&t,&n,&l);
scanf("%lld%lld%lld",&r,&x,&k);
v=l; //记得把转速赋初值
for(long i=0;i<t;i++)
{
scanf("%d%d",&a,&b);
if(a==0) v=l,dang++;
else if(a==1) v=r,dang--;
/* 按要求变档 */
if(dang>n||dang<1) //变档越界
{
printf("-1");
return 0;
/* 有时return 0比break要好用 */
}
if(b==0); //既然没踩油门,什么都不管就好
else if(b==1)
{
v=min(v+x,r);
}
if(v==r) sec++; //计秒
else sec=0;
/* 这里记得,如果v不等于r,把计秒清零 */
move+=v*dang;
if(sec==k) break;//计秒达到要求,刹车
}
printf("%lld",move);
return 0;
}
标签:要开,题解,LL,US,long,学车,P5259,lld,lld% 来源: https://www.cnblogs.com/KGB1331/p/10658074.html