#include <cstdio> #include <iostream> using namespace std; long long n,m,a[10001][101],b[10001][101],c[10001],sum,k,ans,q; int main() { scanf("%lld%lld",&n,&m); for (int i=1;i<=n;i++) for (int j=0;j<=m-1;j++) { scanf("%lld%lld",&a[i][j],&b[i][j]); c[i]+=a[i][j]; //c[i]记录第i层楼梯总数 } scanf("%lld",&k); for (int j=1;j<=n;j++) { sum+=b[j][k]; //记录答案 ans=0; q=k; b[j][q]=(b[j][q]-1)%c[j]+1; //减去多余部分 while (ans<b[j][q]) { ans+=a[j][k]; //如上 if (ans==b[j][q]) break; k++; if (k==m) k=0; } } printf("%lld\n",sum%20123); //输出(别忘了%20123) } /************************************************************** Problem: 1665 User: admin Language: C++ Result: Accepted Time:1046 ms Memory:17940 kb ****************************************************************/