样例过了,为何保龄?
查看原帖
样例过了,为何保龄?
1060136
_T__T_楼主2023/12/2 17:00
#include<bits/stdc++.h>
using namespace std;

long long n,mouse=0,a[1000005]={0},Nowlocation=1,Nowsize=0;

void Input(int x)
{
	a[Nowlocation]=x;
	Nowlocation++,Nowsize++;
	mouse++;
}

void Delete()
{
	a[mouse]=0;
	for(int i=mouse;i<=Nowsize;i++)
	{
		swap(a[i],a[i+1]); 
	}
	Nowsize--;
	mouse--;
	Nowlocation--;
}

void Leftmove()
{
	if(mouse>0) mouse--; 
}

void Rightmove()
{
	if(mouse<Nowsize) mouse++;
}

void Question(int k)
{
	long long cs=0,ms=0;
	
	for(int i=1;i<=k;i++)
	{
		cs=max(0LL,cs+a[i]);
		ms=max(ms,cs);
	}
	
	printf("%lld",ms);
} 

int main()
{
	long long n;
	scanf("%lld",&n);
	
	for(int i=1;i<=n;i++)
	{
		char s;
		scanf(" %c",&s);
		
		if(s=='I')
		{
			int num;
			
			scanf("%d",&num);
			Input(num);
			continue;
		}
		
		if(s=='D')
		{
			Delete();
			continue;
		} 
		
		if(s=='L')
		{
			Leftmove();
			continue;
		}
		
		if(s=='R')
		{
			Rightmove();
			continue;
		}
		
		if(s=='Q')
		{
			int num;
			
			scanf("%d",&num);
			Question(num);
			continue;
		}
	}
	return 0;
} 
2023/12/2 17:00
加载中...