【题目描述】
电影《速度与激情》男主角保罗.沃克因车祸身亡。谨以此题告诫那些喜欢飙车的人!
一辆车在公路上行驶,在一定时间内处于匀速状态,也即速度是固定不变的,但之后将发生改变。现按行驶顺序给出M个时间段的速度,问这辆车能否在T分钟内行驶S米的路程。
【输入格式】
第1行:三个空格隔开的整数:T S M(1<=T<=10000,1000<=S<=20000000,1<=M<=1000)
之后的M行,每行两个整数tm(1<=tm<=10 )和V(500<=V<=2000),表示在tm分钟内,车子的速度是每分钟V米。
数据保证M个时间段的总时间>=T。
【输出格式】
两行。
第1行:能在规定的T分钟里行驶S米的路程,则输出“Yes”,否则输出“NO”;
第2行:输出T分钟行驶的路程与S的差的绝对值。
【输入样例1】
5 18000 2
3 2000
2 1000
【输出样例1】
NO
10000
【样例1说明】
要在5分钟内行驶18000米,有2个时间段:前3分钟,每分钟行驶2000米;后2分钟,每分钟行驶1000千米。所以5分钟行驶了3×2000+2×1000=8000米,输出NO。8000-180000的绝对值是10000
【输入样例2】
8 10000 3
2 2000
3 1500
3 1000
【输出样例2】
Yes
1500
#includeusing namespace std; int main() { freopen ("speed.in","r",stdin); freopen ("speed.out","w",stdout); int T,S,M;//T代表总时间,S代表路程,M为多少段 cin>>T>>S>>M; int sum=0; int tSum=0; int t[M][2]; for(int i=0;i >t[i][0]>>t[i][1];//输入时间,和速度 tSum+= t[i][0]; //sum=sum+t[i][0]*t[i][1]; sum+=t[i][0]*t[i][1]; //求路程=时间*速度:匀速直线运动,每段 } if( tSum>=T) { if(sum>=S) { cout<<"Yes"<



