标签:www ring problem -- har can stream 一个 编辑器
注意点:
#include<cstdio> #include<iostream> #include<cstring> using namespace std; const int MAXN=2e6,INF=2e9; int stck_1[MAXN],top_1=0;//光标前 int f[MAXN];//最大前缀和 int id=0; int sum[MAXN];//前缀和 int stck_2[MAXN],top_2=0;//光标后 int main(){ memset(f,0xcf,sizeof(f)); int q; scanf("%d",&q); for(int i=1;i<=q;i++){ char opt; cin>>opt; if(opt==‘I‘){//光标前插入数值 int x; scanf("%d",&x); stck_1[++top_1]=x; sum[top_1]=sum[top_1-1]+x; f[top_1]=max(f[top_1-1],sum[top_1]); }else if(opt==‘Q‘){//查询最大前缀和 int x; scanf("%d",&x); printf("%d\n",f[x]); }else if(opt==‘L‘){//光标左移 if(!top_1)continue; stck_2[++top_2]=stck_1[top_1--]; }else if(opt==‘R‘){//光标右移 if(!top_2)continue; stck_1[++top_1]=stck_2[top_2--]; sum[top_1]=sum[top_1-1]+stck_1[top_1]; f[top_1]=max(f[top_1-1],sum[top_1]); }else if(opt==‘D‘){//删除光标前一个元素 if(!top_1)continue; top_1--; } } return 0; }
标签:www ring problem -- har can stream 一个 编辑器
原文地址:https://www.cnblogs.com/zbsy-wwx/p/11741968.html