解析:
stl模拟
#include<bits/stdc++.h>
using namespace std;
int t;
map<int,int> mp;
int main()
{
cin>>t;
while(t--)
{
int n,m;
char c;
scanf("%d%c",&n,&c);
if(c==' ')
{
int f=0;
scanf("%d",&m);
for(int i=n-30;i<=n+30;i++) //判断[t-30,t+30]区间有没有不为0的数
{
if(mp.count(i)) f=1;
}
if(f==0) mp[n]+=m;
}
else if(n==-1) //但要删除的时候
{
if(mp.size()==0) //判断有没有不为0的数
{
cout<<"skipped"<<endl;
}
else
{
cout<<mp.begin()->second<<endl; //如果有肯定就是第一个
mp.erase(mp.begin());//删除
}
}
else//输出下标为t的
{
if(mp.count(n)) cout<<mp[n]<<endl;
else cout<<0<<endl;
}
}
}