728x90

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.PriorityQueue;

public class Main
{
    public static void main(String args[]) throws IOException
    {
    	BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    	int n = Integer.parseInt(br.readLine());
    	BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
    	PriorityQueue<MinX> pq = new PriorityQueue<MinX>();
    	for(int i = 0; i < n; i++) {
    		int x = Integer.parseInt(br.readLine());
    		if(x != 0) {
    			pq.offer(new MinX(x));
    		}else {
    			if(!pq.isEmpty()) bw.write(pq.poll().minx+"\n");
    			else bw.write("0\n");
    		}
		}
    	bw.flush();
    	bw.close();
    }
    static class MinX implements Comparable<MinX>{
    	int minx;
    	MinX(int minx){
    		this.minx = minx;
    	}
    	
    	@Override
    	public int compareTo(MinX minx) {   		
    		if(Math.abs(this.minx) == Math.abs(minx.minx))
			return this.minx > minx.minx ? 1 : -1;
			else return Math.abs(this.minx) > Math.abs(minx.minx) ? 1 : -1;
    	}
    }
 }

static class

728x90

+ Recent posts