new file: P2201.cpp

This commit is contained in:
hanyixuanten
2026-08-24 19:43:21 +08:00
parent 8782b34995
commit 0e9e15437d
+56
View File
@@ -0,0 +1,56 @@
// 128
#include <bits/stdc++.h>
using namespace std;
int q;
int qjh[1000005];
int ans[1000005];
vector<int> s, tmp;
int main()
{
cin >> q;
for (int i = 0; i <= q + 1; ++i)
ans[i] = INT_MIN;
while (q--)
{
char c;
cin >> c;
if (c == 'I')
{
int x;
cin >> x;
s.push_back(x);
qjh[s.size()] = qjh[s.size() - 1] + x;
ans[s.size()] = max(ans[s.size() - 1], qjh[s.size()]);
}
else if (c == 'D')
{
if (!s.empty())
s.pop_back();
}
else if (c == 'L')
{
if (!s.empty())
{
tmp.push_back(s[s.size() - 1]);
s.pop_back();
}
}
else if (c == 'R')
{
if (!tmp.empty())
{
s.push_back(tmp[tmp.size() - 1]);
qjh[s.size()] = qjh[s.size() - 1] + tmp[tmp.size() - 1];
ans[s.size()] = max(ans[s.size() - 1], qjh[s.size()]);
tmp.pop_back();
}
}
else
{
int x;
cin >> x;
cout << ans[x] << endl;
}
}
return 0;
}