P5250 【深基17.例5】木材仓库

Aimee

set练手

insert有一个pair的返回值,second代表插入成功没有

s .end()返回值是最后元素的下一个位置。

lowerbound是第一个大于等于

upperbound是最后一个小于等于

#include<set>
#include<cstring>
#include<algorithm>
#include<cstdio>
#include<iostream>
using namespace std;
int n;
int x,y;
set<int> s;
int main(){
    scanf("%d",&n);
    for(int i=1;i<=n;++i){
        scanf("%d%d",&x,&y);
        if(x==1){
            if(!s.insert(y).second){
                printf("Already Existn");
            }
        }else{
            if(s.empty()){
                printf("Emptyn");
            }else{
                if(s.find(y)!=s.end()){
                    printf("%dn",y);
                    s.erase(s.find(y));
                }else{
                    set<int>::iterator pl=s.lower_bound(y);
                    set<int>::iterator pl1=pl;
                    set<int>::iterator pl2=pl1;
                    if(pl==s.begin()){
                        cout<<*pl;
                        s.erase((pl));
                    }else if(pl==s.end()){
                        cout<<*(--pl);
                        s.erase(pl);
                    }
                    else{
                        if(y-*(--pl1)<=*(pl2)-y){
                            cout<<*(pl1);
                            s.erase(pl1);
                        }else{
                            cout<<*(pl);
                            s.erase(pl);
                        }
                    }
                    cout<<endl;
                }

            }
        }
    }
    return 0;
}
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇