萌新deque30分TLE求助
查看原帖
萌新deque30分TLE求助
169606
Jason12楼主2022/3/11 15:11

我的代码:

#include <bits/stdc++.h>
  using namespace std;
int n,m,k,t,x,y,i;
int main()
{
	deque<long long> q;
	scanf("%d%d%d",&n,&m,&k);
	while (n--)
	{
		scanf("%d",&t);
		q.push_back(t); 
	}
	sort(q.begin(),q.end());
	while (m--)
	{
		scanf("%d",&x);
		if (x==3) printf("%d\n",q.size());
		else
		{
			scanf("%d",&y);
			if (x==2) y*=-1;
			for (i=0;i<q.size();i++)
			{
				q[i]+=y;
			}
			while (q.front()<-1*k && !q.empty()) q.pop_front();
			while (q.back()>k && !q.empty()) q.pop_back();
		}
	}
	return 0;
}
2022/3/11 15:11
加载中...