Program Speed Limit Kattis dalam C++

Halo sobat ketemu lagi sama saya, kali ini saya akan mengerjakan soal di kattis dengan judul Speed Limit. Kalau begitu langsung aja disimak dibawah ini soal dan codenya:

Speed Limit


Bill dan Ted sedang melakukan perjalanan. Tetapi odometer di mobil mereka rusak, jadi mereka tidak tahu berapa mil yang telah mereka kendarai. Untungnya, Bill memiliki stopwatch yang berfungsi, sehingga mereka dapat merekam kecepatan mereka dan total waktu yang mereka tempuh. Sayangnya, strategi penyimpanan catatan mereka agak aneh, jadi mereka perlu bantuan menghitung jarak total yang digerakkan. Anda harus menulis program untuk melakukan perhitungan ini.

Misalnya, jika log mereka ditampilkan

Ini berarti mereka melaju 2 jam pada 20 mil per jam, kemudian 6−2 = 4 jam pada 30 mil per jam, kemudian 7−6 = 1 jam pada 10 mil per jam. Jarak yang digerakkan kemudian 2⋅20 + 4⋅30 + 1⋅10 = 40 + 120 + 10 = 170 mil. Perhatikan bahwa total waktu yang berlalu selalu sejak awal perjalanan, bukan sejak entri sebelumnya di log mereka.

Input
Masukan terdiri dari satu set data atau lebih (paling banyak 10). Setiap set dimulai dengan garis yang berisi bilangan bulat n, 1≤n≤10, diikuti oleh n pasang nilai, satu pasang per baris. Nilai pertama dalam pasangan, s, adalah kecepatan dalam mil per jam dan nilai kedua, t, adalah total waktu yang berlalu. Baik s dan t adalah bilangan bulat, 1 ≤ s ≤ 90 dan 1 ≤ t ≤ 12. Nilai untuk t selalu dalam urutan yang benar-benar meningkat. Nilai −1 untuk n menandai akhir dari input.

Output
Untuk setiap set input, cetak jarak didorong, diikuti oleh spasi, diikuti oleh kata "miles".
Code
#include <iostream>
using namespace std;
main()
{
    int x;
    int i;

    do
    {
    cin>>x;
    int y[x],z[x], h[x],total=0;
    z[0]=0;
    for (i=1;i<=x;i++)
    {
        cin>>y[i]>>z[i];
        h[i]=z[i]-z[i-1];
        total=total+(y[i]*h[i]);
    }
    if(x!=-1)
    cout<<total<<" Miles\n";
    }while(x!=-1);
}


Sekian code dari Speed Limit.
Terima kasih.