您的位置:首页 > 其它

codeforces 534B Covered Path-思维

2015-07-12 22:10 239 查看
题意:有一段路,已知起点和终点的速度、总时间和每秒之间速度差值的上限,求这段路最长能是多少

分析:思维

代码:

#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;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: