zoukankan      html  css  js  c++  java
  • 2269: minval

    题目描述

    有两个长度为N的序列A和B,在A和B中各任取一个数相加可以得到N2个和,求这N2个和中最小的N个。

    输入

    第一行输入一个正整数N(1<=N<=100000);

    第二行N个整数Ai且Ai<=109;第三行N个整数Bi且Bi<=109

    输出

    输出仅一行,包含n个整数,从小到大输出这n个最小的和,相邻数字之间用空格隔开。

    样例输入

    5
    1 3 2 4 5
    6 3 4 1 7
    

    样例输出

    2 3 4 4 5
    #include<iostream>
    #include<queue>
    #include<algorithm>
    #define N 100005
    using namespace std;
    int main()
    {
        priority_queue<int > p;
        int n,a[N],b[N],ans[N];
        cin >> n;
        for (int i = 1; i <= n; i++)
        {
            cin >> a[i];
        }
        for (int i = 1; i <=n; i++)
        {
            cin >> b[i];
        }
        sort(a+1, a + n+1);
        sort(b+1, b + n+1);
        for (int j = 1; j <=n; j++)
        {
            int tem = a[1] + b[j];
            p.push(tem);
        }
        for (int i = 2; i <=n;i++)
        for (int j = 1; j <=n; j++)
        {
            int    item = a[i] + b[j];
            if (item>=p.top())
                break;
            p.pop();
            p.push(item);
        }
        for (int i = 1; i <=n; i++)
        {
            ans[i] = p.top();
                p.pop();
        }
        for (int i =n; i>0; i--)
        {
            cout << ans[i] << " ";
            
        }
        cout<<endl;
            return 0;
    }
  • 相关阅读:
    石家庄地铁线路查询系统(补)
    构建之法阅读笔记03
    构建之法阅读笔记02
    Day 3-3 内置方法
    Day3-2 函数之递归
    Day3-1 函数
    Day2 列表,元组,字典,集合
    Day1 基础知识
    Day1. Python基础知识
    iptables防火墙配置
  • 原文地址:https://www.cnblogs.com/binanry/p/9806412.html
Copyright © 2011-2022 走看看