A. Elevator or Stairs? 分别计算乘电梯和走楼梯所需时间再比较即可(电梯门需要开闭三次)
#include<iostream>
#include<math.h>
#include<stdio.h>
using namespace std;
int main()
{
int x,y,z,t1,t2,t3;
while(scanf("%d%d%d%d%d%d",&x,&y,&z,&t1,&t2,&t3)!=EOF)
{
int sum1,sum2;
if(x!=z)
{
int k=abs(x-z);
sum1=k*t2+t3*3;
k=abs(x-y);
sum1+=k*t2;
}
else
{
int k=abs(x-z);
sum1=k*t2+t3*3;
k=abs(x-y);
sum1+=k*t2;
}
sum2=t1*abs(x-y);
//cout<<sum1<<' '<<sum2<<endl;
if(sum1<=sum2)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
}
B. Appending Mex (判断当前输入的数是否比他的前序所有数中的最大数大2或以上)
#include<iostream>
#include<math.h>
#include<stdio.h>
using namespace std;
int main()
{
int n,i,flag;
cin>>n;
cin>>flag;
if(!flag)
{
for(i=1;i<n;i++)
{
int k;
cin>>k;
if(k-flag==1)
{
flag=k;
}
if(k-flag>=2)
{
cout<<i+1<<endl;
break;
}
}
//cout<<i<<endl;
if(i==n)
cout<<-1<<endl;
}
else
cout<<1<<endl;
return 0;
}