bdfz_2024_summer/day10/U88589/U88589.cpp

63 lines
1.3 KiB
C++
Raw Normal View History

2024-08-13 08:09:40 +00:00
//暴力 80point 逆天了,样例太水了
2024-08-12 02:07:56 +00:00
#include<bits/stdc++.h>
using namespace std;
2024-08-13 08:09:40 +00:00
const int MAX_N = 5e8+5;
int a[MAX_N];
2024-08-12 02:07:56 +00:00
2024-08-13 08:09:40 +00:00
int readint();
int main(){
const int n = readint();
for(int i=1;i<=n;i++){
const int m = readint();
if(m==1){
const int x=readint();
a[x]++;
}else if(m==2){
const int x=readint();
a[x]--;
}else if(m==3){
const int l=readint(),r=readint();
2024-08-12 02:07:56 +00:00
int ans=0;
2024-08-13 08:09:40 +00:00
for(int j=l;j<=r;j++){
ans+=j*a[j];
2024-08-12 02:07:56 +00:00
}
cout<<ans<<endl;
2024-08-13 08:09:40 +00:00
}else if(m==4){
const int x = readint();
for(int j=x;j>=0;j--){
if(a[j]){
cout<<j<<endl;
goto out1;
2024-08-12 02:07:56 +00:00
}
}
2024-08-13 08:09:40 +00:00
cout<<-1<<endl;
out1:;
}else if(m==5){
const int x = readint();
for(int j=x;j<MAX_N;j++){
if(a[j]){
cout<<j<<endl;
goto out;
}
2024-08-12 02:07:56 +00:00
}
2024-08-13 08:09:40 +00:00
cout<<-1<<endl;
out:;
2024-08-12 02:07:56 +00:00
}
}
}
2024-08-13 08:09:40 +00:00
int readint(){
2024-08-12 02:07:56 +00:00
int x=0,w=1;
char ch=0;
while(!isdigit(ch)){
if(ch=='-')w=-1;
ch=getchar();
}
while(isdigit(ch)){
x=x*10+(ch-'0');
ch=getchar();
}
return x*w;
}