题意:有一段路,已知起点和终点的速度、总时间和每秒之间速度差值的上限,求这段路最长能是多少
分析:思维
代码:
#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; } }
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-12-15 06:57:03