zoukankan      html  css  js  c++  java
  • UVa 11136 Hoax or what (STL)

    题意:有 n 天,每天有m个数,开始的前一天没有数据,然后每天从这个里面拿出一个最大的和最小的,求 n 天的最大的和最小的差值相加。

    析:一看就知道用set啊,多简单的STL,不过要注意,开long long,和multiset,因为可能数是一样。

    代码如下:

    #include <iostream>
    #include <cmath>
    #include <cstdlib>
    #include <set>
    #include <cstdio>
    
    using namespace std;
    typedef long long LL;
    multiset<int> sets;
    multiset<int> :: iterator it1, it2;
    
    int main(){
        int n, m, x;
        while(scanf("%d", &n) == 1 && n){
            sets.clear();
            LL ans = 0;
            while(n--){
                scanf("%d", &m);
                for(int i = 0; i < m; ++i){
                    scanf("%d", &x);
                    sets.insert(x);
                }
                it1 = sets.end();
                it2 = sets.begin();
                ans += (LL)*--it1;
                ans -= (LL)*it2;
                sets.erase(it1);
                sets.erase(it2);
            }
            printf("%lld
    ", ans);
        }
        return 0;
    }
    
  • 相关阅读:
    C#编程.异常处理(Exception Handling Statements)
    rabbitMQ 消息队列
    非技术问题
    sql优化
    数控机床,模具
    nginx 服务器
    zuul 网关
    分布式配置中心
    hystrix 解决服务雪崩效应
    负载均衡
  • 原文地址:https://www.cnblogs.com/dwtfukgv/p/5645454.html
Copyright © 2011-2022 走看看