看到这道题,第一时间想到模拟,结果3个tle,寄了 巨佬帮忙看看问题吧
#include <iostream>
#include <algorithm>
#include <bits/stdc++.h>
using namespace std;
long long a[200005];
int main()
{
memset(a,0,sizeof(a));
long long m,d;
long long t = 0;
cin >> m >> d;
long long index = 0;
for(int i = 1;i <= m;i++)
{
string opt;
cin >> opt;
long long val;
cin >> val;
if(opt == "Q")
{
long long maxn = -1e9;
for(long long j = index;j >= index - val;j--)
{
maxn = max(maxn,a[j]);
}
t = maxn;
cout << maxn << endl;
}
if(opt == "A")
{
a[index] = (val + t) % d;
t = a[index];
index++;
}
}
}