0034 - Railway Lines
#include <cstdio> #include <iostream> using namespace std; void Slove(int l[], int v1, int v2) { int distance=0; for (int i=0; i<10; ++i) distance+=l[i]; double left_collision=(double)distance/(v1+v2)*v1; distance=0; for (int i=0; i<10; ++i) { distance+=l[i]; if (distance >= left_collision) { cout << i+1 << endl; break; } } } int main(void) { int l[10], v1, v2; while (scanf ("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d", &l[0], &l[1], &l[2], &l[3], &l[4], &l[5], &l[6], &l[7], &l[8], &l[9], &v1, &v2) !=EOF) Slove(l,v1,v2); return 0; }
左から進んだ距離を求めて一を出す方法で解いた。