• 湖南大学ACM程序设计新生杯大赛(同步赛)G


    题目描述

    BSD is a lazy boy. He doesn't want to wash his socks, but he will have a data structure called 'socks heap'.By maintaining this structure, he can quickly pick out two of the most smelless socks from millions of socks everyday. As one of his good friends, you know the data structure of BSD, and want to predict 'the air pollution level' of a certain day. Of course, it's BSD's socks that pollute the air.

    We will enter numbers that indices for 'socks smell level' and expect you to output the total amount of pollution that he will wear on the day of BSD design.

    输入描述:

    First line contain an integer T 1<T<=10 ,means the sum of test cases.
    for every test cases,we will firstly give N(1<N<1000000) in a single line,means the count of socks.Next line Contains N numbers (you can use int to save all of them) ,means 'smell level' for every socks.

    输出描述:

    please putout answer in a single line for every test cases.
    示例1

    输入

    3
    5
    1 1 2 3 5
    3
    1 4 7
    3
    200 4 10000

    输出

    2
    5
    204

    题解

    找到最小值、次小值输出即可。

    #include<cstdio>
    using namespace std;
     
    const double eps=1e-8;
    #define zero(x)(((x)>0?(x):(-x))<eps)
     
    const int maxn = 1000000 + 10;
    long long a[maxn];
    int n;
    long long INF = 0x7FFFFFFF;
     
    int main() {
      int T;
      scanf("%d", &T);
      while(T --) {
        scanf("%d", &n);
        for(int i = 1; i <= n; i ++) {
          scanf("%lld", &a[i]);
        }
        long long ans = 0;
        long long num;
        int pos1 = -1, pos2 = -1;
     
        for(int i = 1; i <= n; i ++) {
          if(pos1 == -1) pos1 = i;
          if(a[i] < a[pos1]) pos1 = i;
        }
        for(int i = 1; i <= n; i ++) {
          if(pos1 == i) continue;
          if(pos2 == -1) pos2 = i;
          if(a[i] < a[pos2]) pos2 = i;
        }
        ans = a[pos1] + a[pos2];
        printf("%lld
    ", ans);
      }
      return 0;
    }
    

      

  • 相关阅读:
    redis中的发布订阅(Pub/Sub)
    emmc基础技术8:操作模式3-interrupt mode
    Linux命令-tar
    git获取内核源码的方法
    Linux内核基础设施
    Linux内核简介
    emmc基础技术8:操作模式2-device identification mode
    内核子系统文档撰写方法
    eMMC基础技术6:eMMC data读写
    eMMC基础技术10:寄存器介绍
  • 原文地址:https://www.cnblogs.com/zufezzt/p/8099005.html
Copyright © 2020-2023  润新知