#include<iostream> #include<string> #include<stdio.h> using namespace std;
char start_end[15]; //输入的提示字符串 int routine[25][15]; //各辆车行驶的路线情况 char c[200]; //以行为单位读入数据 int a,n; const char ss[] = "ENDOFINPUT"; int arrivalTime; //到达车站的时间 int sum[25]; //对每辆车行驶路线的时间求和 int size[25]; //每辆行驶的路线数
void input() { int i,j; a = 0; cin>>n; gets(c); for(i = 0;i < n;i++) { j = 0; gets(c); int k = 0; while(c[j] != '\0') { a = 0; while(c[j] != ' ' && c[j] != '\0') { a = a*10 + (c[j] - '0'); j++; } routine[i][k] = a; k++; a = 0; if(c[j] == ' ') j++; } size[i] = k; } cin>>arrivalTime; /* for(i = 0;i < n;i++) { for(j = 0;j < size[i];j++) cout<<routine[i][j]<< " "; cout<<endl; }*/ } void solve() { int i,j; memset(sum,0,sizeof(sum)); int mmin = 10000000; for(i = 0;i < n;i++) { j = 0; while(1) { if(sum[i] < arrivalTime) { sum[i] += (routine[i][j%size[i]]); j++; } else { sum[i] = sum[i] - arrivalTime; if(mmin > sum[i]) mmin = sum[i]; break;
} } } cout<<mmin<<endl; } int main() { while(1) { cin>>start_end; if(strcmp(start_end,ss) == 0) break; input(); cin>>start_end; solve(); } return 0; }