zoukankan      html  css  js  c++  java
  • 求最小

    【题目描述】
    给你两种操作:

    1. 加入一个数a
    2. 输出并删除所有数中最小的一个数
      一共有n个操作
      【输入格式】
      第一行:n
      剩下的n行 :
      1.有一个0和一个数a,表示操作1
      2.有一个1,表示操作2
      【输出格式】
      对每一个操作2,输出一行表示答案
      【输入样例】
      5
      0 1
      0 3
      1
      0 -1
      1
      【输出样例】
      1
      -1
      【数据范围】
      0%的数据 n<1
      30%的数据n<=1000
      100%的数据n<=100000
      代码
    #include<bits/stdc++.h>
    using namespace std;
    struct point{
    	int a, u;
    };
    point q[100001];
    int n;
    bool cmp1(point u, point v){
    	return u.a > v.a;
    }
    int main(){
    	freopen("small.in", "r", stdin);
    	freopen("small.out", "w", stdout);
    	cin >> n;
    	int l = 0, x, a;
    	for(int i = 1; i <= n; i++){
    		scanf("%d", &x); 
    		if(x == 0){
    			scanf("%d", &a);
    			l++;
    			q[l].a = a;
    			q[l].u = l;
    		}
    		else{
    			sort(q+1, q+1+l, cmp1);
    			printf("%d
    ", q[l].a);
    			l--;
    		}
    	}
    	return 0;
    }
    
  • 相关阅读:
    zabbix
    amoeba 读写分离
    部署MySQL-主从异步复制
    MySQL 基本操作
    mysql 完整备份和恢复
    正则匹配表达式各个符文表达的意义
    Include和require的区别
    nosql和Mysql的区别
    Git与SVN的区别
    mongodb与mysql区别
  • 原文地址:https://www.cnblogs.com/LJA001162/p/13392020.html
Copyright © 2011-2022 走看看