zoukankan      html  css  js  c++  java
  • Codeforces Round #252 (Div. 2) B. Valera and Fruits

    #include <iostream>
    #include <vector>
    #include <algorithm>
    #include <map>
    
    using namespace std;
    
    int main(){
        int n,v;
        cin >> n >>v;
        map<int,int> fruit;
        for(int i = 0 ; i < n; ++ i ){
            int a,b;
            cin >>a >> b;
            if(fruit.find(a)!=fruit.end()) fruit[a]+=b;
            else fruit.insert(make_pair(a,b));
        }
    
        int pre_a = 0, left_b = 0, collect_fruit = 0;
        for(map<int,int>::iterator iter = fruit.begin(); iter!=fruit.end(); ++ iter){
            if(iter->first - pre_a > 1){
                collect_fruit += (left_b > v)? v : left_b;
                left_b  = 0;
            }
            if(left_b >= v){
                collect_fruit +=v;
                left_b = iter->second;
            }else{
                collect_fruit +=left_b;
                if(iter->second >= (v-left_b)){
                    collect_fruit +=v-left_b;
                    left_b = iter->second-v+left_b;
                }else{
                    collect_fruit += iter->second;
                    left_b = 0;
                }
            }
            pre_a = iter->first;
        }
        collect_fruit+=(left_b > v) ? v : left_b;
        cout<<collect_fruit<<endl;
    }
  • 相关阅读:
    谈敏捷的好文章
    梁信军说的话
    如何做需求管理
    支持向量机通俗解释
    如何写数据报告
    数据分析注意点
    傅盛谈管理的本质
    I Hate It HDU
    敌兵布阵 HDU
    P3372 【模板】线段树 1 (区间查询)
  • 原文地址:https://www.cnblogs.com/xiongqiangcs/p/3778557.html
Copyright © 2011-2022 走看看