NOI:3343 热血格斗场

NOI:3343 热血格斗场_第1张图片

题意:类似于冷血格斗场,但是每个力量只出现一次,判断起来更简单,

         学习使用lower_bound和upper_bound

#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
map all;
int main(){
    int n;
    cin>>n;
    all.insert(pair(1000000000,1));
    map::iterator i;
    while (n--) {
        int a,b;
        cin>>a>>b;
        i=all.upper_bound(b);//第一个大于等于其的元素
        if(i==all.end()){//判断特殊点,越界
            i--;
            cout<second<second<first-b);
            i--;
            int tmp2=abs(i->first-b);
            if(tmp2<=tmp1){//假如前后相等时,选力量少的
                cout<second<second<(b,a));
    }
}

你可能感兴趣的:(NOI)