请各位大佬们帮忙看看呗,谢谢了各位。
by SSL_TJH_蒟蒻 @ 2019-07-11 20:28:28
@[超弱的蒟蒻](/space/show?uid=116353)
太强了
by ssllyf @ 2019-07-11 20:31:52
@[ssllyf](/space/show?uid=36822) 大爷,您看出来了吗
by SSL_TJH_蒟蒻 @ 2019-07-11 20:33:07
map的内部是红黑树 目测把map改数组就好
by Nerovix @ 2019-07-23 18:34:02
@[wangdy](/space/show?uid=61502) 我改了之后似乎还是MLE。。。
by SSL_TJH_蒟蒻 @ 2019-08-05 19:32:08
您爆int了
by Nerovix @ 2019-08-05 20:55:43
我这给您改了一份 实测可过
有改动的地方我都做了标记 除了int外还有几个小错误qwq
```cpp
/**///将所有int改为long long
#include<map>
#include<cstdio>
#include<iostream>
using namespace std;
/**/long long tree[800001];
long long m,d,t,x,n;
char c;
long long answer(long long now,long long l,long long r,long long left,long long right)
{
if (l>=left&&r<=right) return tree[now];
long long mid=(l+r)/2,temp=/**/-1000000000000000000;
if (left<=mid) temp=answer(now*2,l,mid,left,right);
if (right>mid) temp=max(temp,answer(now*2+1,mid+1,r,left,right));
return temp;
}
void add(long long l,long long r,long long sum)
{
if (l==r)
{
tree[sum]=(x+t)%d;
return ;
}
long long mid=(l+r)/2;
if (n<=mid) add(l,mid,sum*2);
else add(mid+1,r,sum*2+1);
tree[sum]=max(tree[sum*2],tree[sum*2+1])%d;
return;
}
int main()
{
ios::sync_with_stdio(0);
/**/cin>>m>>d;
for (long long i=1;i<=m;i++)
{
/**/cin>>c;
/**/cin>>x;
if (c=='A')
{
n++;
add(1,m,1);
}
else /**/cout<<(/**/t=answer(1,1,m,n-x+1,n))<<"\n";
}
return 0;
}
```
by Nerovix @ 2019-08-05 20:57:12
@[超弱的蒟蒻](/space/show?uid=116353)
by Nerovix @ 2019-08-05 20:57:21
@[wangdy](/space/show?uid=61502) 已过,感激不尽
by SSL_TJH_蒟蒻 @ 2019-08-06 07:25:40