全部RE求助...
查看原帖
全部RE求助...
107625
shxdler楼主2021/3/21 17:48

样例和测试点1数据好像是对的 但是为什么所有测试点都是RE啊555

#include<bits/stdc++.h> 
using namespace std;

int main(){
	int n,m;
	scanf("%d",&n);
	scanf("%d",&m);
	int t,ma,proc,seqm[m][n]={},seqt[m][n],seq[m*n],max=0;
	int current,i,j,k,finish[m]={},finisht[m]={};
	for(i=0;i<n*m;i++){
		scanf("%d",&seq[i]);// work sequence 
	}
	for(i=0;i<m;i++){
		for(j=0;j<n;j++){
		scanf("%d",&seqm[i][j]);// machine used sequence
	}
	}
	for(i=0;i<m;i++){
		for(j=0;j<n;j++){
			scanf("%d",&seqt[i][j]);// needed time
			max+=seqt[i][j];
		}
	}
	int timeseq[n][max+5]={};
	for(i=0;i<n*m;i++){
		current=seq[i]-1;
		proc=finish[current];
		t=seqt[current][proc];
		ma=seqm[current][proc]-1;
		j=finisht[current];//the earliest time
		for(k=j;k<j+t;k++)
			if(timeseq[ma][k]==1)  j=k+1;
		for(k=j;k<j+t;k++)
			timeseq[ma][k]=1;
		finish[current]++;//finish 1 procedure of seqi
		finisht[current]=j+t;
	}
	for(i=max;i>0;i--){
		for(j=0;j<n;j++){
			if(timeseq[j][i]!=0){
				cout << i+1;
				return 1;
			}
		}
	}
}
2021/3/21 17:48
加载中...