24点WA求调
  • 板块CF46D Parking Lot
  • 楼主mszyyds
  • 当前回复0
  • 已保存回复0
  • 发布时间2021/11/27 11:26
  • 上次更新2023/11/3 23:29:37
查看原帖
24点WA求调
459935
mszyyds楼主2021/11/27 11:26
#include <bits/stdc++.h>
using namespace std;
int n,x,y,L,tmp,p;
bool f[100005];
struct node{int l,r;}a[105];
int main()
{
	cin>>L>>x>>y;
	cin>>n;
	int l=0,r=0;
	bool ff=false,fff=false;
	for(int i=1;i<=n;i++)
	{
		cin>>tmp>>p;
		if(tmp%2)
		{
			l=0,r=0;
			ff=false;
			fff=false;
			while(r<=L)
			{
				if(f[r]) l=r+1;
				if(l==0&&r+1>=y+p)
				{
					cout<<0<<endl;
					fff=true;
					break;
				}
				else if(r-l+1>=x+y+p)
				{
					cout<<l+x<<endl
					ff=true;
					break;
				}
				else r++; 
			}
			if(ff) 
			{
				a[i].l=l+x;
				a[i].r=r-y;
				for(int j=l+x;j<=r-y;j++) f[j]=true;
			}
			else if(fff)
			{
				a[i].l=0;
				a[i].r=r-y;
				for(int j=0;j<=r-y;j++) f[j]=true;
			}
			else cout<<-1<<endl;
		}
		else for(int j=a[p].l;j<=a[p].r;j++) f[j]=false;
	}
	return 0;
}
2021/11/27 11:26
加载中...