1.链接地址

    https://vjudge.net/problem/POJ-2017

2.问题描述

 Bill and Ted are taking a road trip. But the odometer in their car is broken, so they don't know how many miles they have driven. Fortunately, Bill has a working stopwatch, so they can record their speed and the total time they have driven. Unfortunately, their record keeping strategy is a little odd, so they need help computing the total distance driven. You are to write a program to do this computation. 

For example, if their log shows 

Speed in miles perhour Total elapsed time in hours
20 2
30 6
10 7


this means they drove 2 hours at 20 miles per hour, then 6-2=4 hours at 30 miles per hour, then 7-6=1 hour at 10 miles per hour. The distance driven is then (2)(20) + (4)(30) + (1)(10) = 40 + 120 + 10 = 170 miles. Note that the total elapsed time is always since the beginning of the trip, not since the previous entry in their log.

输入样例

3
20 2
30 6
10 7
2
60 1
30 5
4
15 1
25 2
30 3
10 5
-1

输出样例

170 miles
180 miles
90 miles

3.解题思路

 简单的数学题

4.算法实现源代码

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int maxn = 15;
int s[maxn],t[maxn]; 

int main()
{
    int n;
    while(scanf("%d",&n) && n!=-1)
    {
        memset(s,0,sizeof(s));
        memset(t,0,sizeof(t));
        int sum=0;
        for(int i=1;i<=n;i++)
        {
            scanf("%d %d",&s[i],&t[i]);
            sum+=s[i]*(t[i]-t[i-1]);
        }
        printf("%d miles\n",sum);
    }
}