代码求调
查看原帖
代码求调
768270
__why楼主2024/5/1 21:18

rt

#include<bits/stdc++.h>
using namespace std;
const int maxn = 3e5+5;
int t,n,cnt;
struct sur{
	bool alve,chek;
}alv[maxn];
struct node{
	int lst,nxt;
	int atc,die;
}mon[maxn];
void org(){
	mon[1].lst = n;
	mon[1].nxt = 2;
	mon[n].lst = n-1;
	mon[n].nxt = 1;
	for(int i = 2;i<n;i++){
		mon[i].lst = i-1;
		mon[i].nxt = i+1;
	}
}
void ext(int i){
	mon[mon[i].lst].nxt = mon[i].nxt;
	mon[mon[i].nxt].lst = mon[i].lst;
}
signed main(){
	cin>>t;
	for(int grp = 1;grp<=t;grp++){
		cin>>n;
		memset(alv,sizeof alv,1);
		org();
		for(int i = 1;i<=n;i++){
			cin>>mon[i].atc;
		}
		for(int i = 1;i<=n;i++){
			cin>>mon[i].die;
		}
		for(int turn = 1;turn<=n;turn++){
			cnt = 0;
			for(int i = 1;i<=n;i++){
				if(!alv[i].alve)continue;
				int fgt = mon[mon[i].lst].atc+mon[mon[i].nxt].atc;
				if(fgt>mon[i].die){
					alv[i].alve = false;
					alv[i].chek = true;
					cnt++;
				}
			}
			cout<<cnt<<" ";
			for(int i = 1;i<=n;i++)if(alv[i].alve==false&&alv[i].chek){
				alv[i].chek = false;
				ext(i);
			}
		}
		cout<<endl;
	}
}
2024/5/1 21:18
加载中...