您的位置:首页 > 其它

hdu 4288 Coder 一个很水的版本 >_<

2012-09-16 22:07 507 查看
一个很水的版本 >_<

直接vector操作,修改时直接lower_bound找到位置,然后add操作时是a.insert(),del操作时是a.erase(),询问时直接枚举求和。。。

67782292012-09-16 21:57:16Accepted42886843MS1060K1154 BG++yejinru
View Code

#include <iostream>
#include <vector>
#include <cstring>
#include <cstdio>
#include <algorithm>

using namespace std;

char s[5];
int n;
vector<int> a;

int main(){
//freopen("sum.in","r",stdin);
int len,val;
vector<int>::iterator it;
while(cin>>n){
len = 0;
a.clear();
while(n--){
scanf("%s",s);
if(s[0]=='s'){
long long ans = 0;
for(int i=2;i<len;i+=5)
ans += a[i];
cout<<ans<<endl;
}
else if(s[0]=='a'){
len++;
scanf("%d",&val);
it = lower_bound(a.begin(),a.end(),val);
a.insert(it,val);
}
else{
len--;
scanf("%d",&val);
it = lower_bound(a.begin(),a.end(),val);
a.erase(it);
}
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: