MLE求助
查看原帖
MLE求助
1065593
zhonglidog楼主2024/8/15 07:43

队列开2e5+5会超 但开小会RE 代码如下

#include<iostream>
#include<queue>
using namespace std;
const int MAXN=2e5+5;
struct node{
	int time,num;
};
int n,m;
int v[MAXN];
queue<node> q[MAXN];
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++) cin>>v[i];
	while(m--){
		int a,b,c,d;
		cin>>a>>b>>c>>d;
		while(!q[b].empty())
			if(q[b].front().time<=a){
				v[b]+=q[b].front().num;
				q[b].pop();
			}
			else break;
		if(v[b]<d) cout<<-1<<endl;
		else{
			v[b]-=d;
			cout<<v[b]<<endl;
			q[b].push((node){a+c,d});
		}
	}
	return 0;
}
2024/8/15 07:43
加载中...