题意:有一段路,已知起点和终点的速度、总时间和每秒之间速度差值的上限,求这段路最长能是多少
分析:思维
代码:
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
int s,e,t,d;
int a[200];
while(cin>>s>>e){
cin>>t>>d;
memset(a,0,sizeof(a));
a[1]=s,a[t]=e;
for(int i=2;i<t;i++){
if(a[i-1]+d>=e){
if(a[i-1]+d-e<=(t-i)*d) a[i]=a[i-1]+d;
else a[i]=e+(t-i)*d;
}
else if(a[i-1]+d<e){
if(e-a[i-1]-d<=(t-i)*d) a[i]=a[i-1]+d;
else a[i]=e-(t-i)+d;
}
}
int ans=0;
for(int i=1;i<=t;i++) ans+=a[i];
cout<<ans<<endl;
}
}版权声明:本文为博主原创文章,未经博主允许不得转载。
codeforces 534B Covered Path-思维
原文:http://blog.csdn.net/ac_0_summer/article/details/46854031