#include <iostream> #include <cstdio> #include <sstream> #include <cstdlib> #define db(a) cout << #a << " = " << a << endl; using namespace std; int seconds(int h, int m, int s){ return h * 3600 + m * 60 + s; } int main(){ string linea, tiempo; int h, m, s; float recorrido = 0; stringstream ss; /*freopen("in.in", "r", stdin); freopen("ou.out", "w", stdout);*/ int current_time = 0; float velocidad_ini = 0; bool primero = true; while(getline(cin, linea)){ ss.clear(); ss << linea; bool first = true; while(ss >> linea){ if(first){ sscanf(linea.c_str(), "%d:%d:%d", &h, &m, &s); tiempo = linea; first = false; } else first = true; } if(first){ if(primero){ recorrido = 0; primero = false; current_time = seconds(h, m, s); } else { recorrido += (seconds(h, m, s) - current_time) * velocidad_ini / 3600.; current_time = seconds(h , m, s); } velocidad_ini = atoi(linea.c_str()); } else{ int tiempo_reporte = seconds(h, m, s) - current_time; float distancia = velocidad_ini * tiempo_reporte / 3600.; distancia += recorrido; printf("%s %.2f km\n", tiempo.c_str(), distancia); } } return 0; }
lunes, 24 de octubre de 2011
10281 - Average Speed - UVA
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario