95,数据15没过
查看原帖
95,数据15没过
513021
wccc_c楼主2024/9/28 19:26
#include<bits/stdc++.h>
#define int long long
using namespace std;
struct data{
	int level_need[200];
	int level=0;
	int pre=-1;//0为莲子,1为梅莉,-1为无建筑 
	int a;
	int d;
}dat[200];
int L,now=0,n,m,q;
signed main()
{
	cin>>n>>m>>q>>L;
	unsigned long long Merry=m,Renko=m,Merry_where=1,Renko_where=1;
	//bool who=0;//Renko=0,Merry=1
	for(int i=1;i<=n;i++)
	{
		for(int j=0;j<L;j++)
		{
			cin>>dat[i].level_need[j];
		}
	}
	for(int i=1;i<=n;i++)
	{
		cin>>dat[i].d;
	}
	int k;
	int cz=2;
	int Merry_d=0,Renko_d=0;
	for(now;now<q;now++)
	{
		if(cz==2)
		cin>>cz>>k;
		for(int times=1;times<=k;times++)
		{
			Renko_where--;
			Renko_where++;
			Renko_where%=n;
			Renko_where++;
			if(dat[Renko_where].pre==0)
			{
				Renko+=dat[Renko_where].a;
			}
			if(dat[Renko_where].pre==1)
			{
				if(Renko<dat[Renko_where].a)
				{
					cout<<"Renko";
					return 0;
				}
				Renko-=dat[Renko_where].a;
				Merry+=dat[Renko_where].a;
			}
			//cout<<Renko_where<<" ";
		}
		//cout<<endl;
		cin>>cz>>k;
		
		if(cz==2)
		{
			bool y=0;
			if(dat[Renko_where].pre==-1)
			{
				if(Renko>=dat[Renko_where].level_need[0])
				{
					Renko-=dat[Renko_where].level_need[0];
					dat[Renko_where].pre=0;
					dat[Renko_where].a+=dat[Renko_where].level_need[0];
					dat[Renko_where].level++;
				}
				y++;
				Renko_d+=dat[Renko_where].d;
				//cout<<Renko<<endl<<endl;
			}
				for(int p=1+y;p<=k;p++)
				if(dat[Renko_where].pre==0)
				{
					if(dat[Renko_where].level>=L)break;
					if(Renko>=dat[Renko_where].level_need[dat[Renko_where].level])
					{
						Renko-=dat[Renko_where].level_need[dat[Renko_where].level];
						//dat[Renko_where].pre=0;
						dat[Renko_where].a+=dat[Renko_where].level_need[dat[Renko_where].level];
						dat[Renko_where].level++;
					}
					else
					{
						break;
					}
				//cout<<Renko<<endl<<endl;
				}
			cin>>cz>>k;
		}
		
		for(int times=1;times<=k;times++)
		{
			Merry_where--;
			Merry_where++;
			Merry_where%=n;
			Merry_where++;
			if(dat[Merry_where].pre==1)
			{
				Merry+=dat[Merry_where].a;
			}
			if(dat[Merry_where].pre==0)
			{
				if(Merry<dat[Merry_where].a)
				{
					cout<<"Merry";
					return 0;
				}
				Merry-=dat[Merry_where].a;
				Renko+=dat[Merry_where].a;
			}
			//cout<<Merry_where<<" ";
		}
		//cout<<endl;
		cin>>cz>>k;
		
		if(cz==2)
		{
			bool y=0;
			if(dat[Merry_where].pre==-1)
			{
				if(Merry>=dat[Merry_where].level_need[1])
				{
					Merry-=dat[Merry_where].level_need[0];
					dat[Merry_where].pre=1;
					dat[Merry_where].a+=dat[Merry_where].level_need[0];
					dat[Merry_where].level++;
				}
				y++;
				Merry_d+=dat[Merry_where].d;
				//cout<<Merry<<endl<<endl;
			}
				for(int p=1+y;p<=k;p++)
				if(dat[Merry_where].pre==1)
				{
					if(dat[Merry_where].level>=L)break;
					if(Merry>=dat[Merry_where].level_need[dat[Merry_where].level])
					{
						Merry-=dat[Merry_where].level_need[dat[Merry_where].level];
						//dat[Renko_where].pre=0;
						dat[Merry_where].a+=dat[Merry_where].level_need[dat[Merry_where].level];
						dat[Merry_where].level++;
					}
					else
					{
						break;
					}
				//cout<<Merry<<endl<<endl;
				}
		}
		Renko+=Renko_d;
		Merry+=Merry_d;
		//cout<<Renko<<" "<<Merry<<endl;
	}
	cout<<Renko<<" "<<Merry; 
	return 0;
}
2024/9/28 19:26
加载中...