求助 五个数据大的点过不了
查看原帖
求助 五个数据大的点过不了
905999
felixabc楼主2024/1/18 14:42
#include<bits/stdc++.h>
using namespace std;
long long n,m,r,y;
int t[100005][1005];
int s[100005][1005];
int lts[1005];
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cin>>t[i][j];
			cin>>s[i][j];
			if(t[i][j]==1){
				lts[i]+=1;
			}
		}
	}
	cin>>r;
	r+=1;
	for(int i=1;i<=n;i++){
		y+=s[i][r];
		y%=20123;
		int b;
		b=s[i][r]%lts[i];
		int c=0;
		for(;;r++){
			if(r>m){
				r=1;
			}
			if(b==0){
				r--;
				for(;;r--){
					if(r<1){
						r=m;
					}
					if(t[i][r]==1){
						break;
					}
				}
				break;
			}
			if(t[i][r]==1){
				c++;
			}
			if(c==b){
				break;
			}
		}
	}
	cout<<y%20123;
	return 0;
}
2024/1/18 14:42
加载中...