暴力,暴力居然最慢才跑668毫秒
查看原帖
暴力,暴力居然最慢才跑668毫秒
553074
qzqzlinyuxiang楼主2024/11/26 00:30
#include<bits/stdc++.h>
using namespace std;
inline int read() {
	int res=0;
	char c=getchar();
	bool flag=0;
	while(c<'0'||c>'9') {
		if(c=='-') flag=1;
		c=getchar();
	}
	while(c>='0'&&c<='9') {
		res=(res<<1)+(res<<3)+(c^48);
		c=getchar();
	}
	return res * ( flag ? -1 : 1 );
}
int n,a[60011],m,b,c,d,s;
int main() {
	n=read();
	m=read();
	for(int i=1; i<=n; i++)a[i]=n+1-i;
	for(int jj=1; jj<=m; jj++) {
		b=read();
		if(b==1) {
			c=read();
			for(int i=1; i<=n; i++) {
				if(a[i]>=c) {
					printf("%d\n",i);
					for(int j=i; j<=i+c-1; j++)a[j]=0;
					if(a[i-1]!=0)a[i-1]=1;
					for(int j=i; j>=1; j--) {
						if(a[j]==0)break;
						a[j]=a[j+1]+1;
					}
					s=1;
					break;
				}
			}
			if(s==0)printf("0\n");
			s=0;
		} else {
			c=read();
			d=read();
			for(int i=c+d-1; i>=1; i--) {
				if(a[i]==0&&i<c) {
					break;
				}
				a[i]=a[i+1]+1;
			}
		}
	}
	return 0;
}
2024/11/26 00:30
加载中...