Pagini recente » Cod sursa (job #2563325) | Cod sursa (job #2083263) | Cod sursa (job #1101047) | Cod sursa (job #1987112) | Cod sursa (job #2170090)
import java.util.PriorityQueue;
import java.io.*;
import java.util.StringTokenizer;
import java.util.ArrayList;
class MyScanner implements AutoCloseable {
private BufferedReader bufferedReader;
private StringTokenizer stringTokenizer;
MyScanner(String filename) throws FileNotFoundException {
bufferedReader = new BufferedReader(new FileReader(filename));
}
private String next() throws IOException {
while (stringTokenizer == null || !stringTokenizer.hasMoreElements()) {
stringTokenizer = new StringTokenizer(bufferedReader.readLine());
}
return stringTokenizer.nextToken();
}
int nextInt() throws IOException {
return Integer.parseInt(next());
}
public void close() throws IOException {
bufferedReader.close();
}
}
public class Main {
private static final String INPUT_FILE_PATH = "heapuri.in";
private static final String OUTPUT_FILE_PATH = "heapuri.out";
public static void main(String[] args) {
PriorityQueue<Integer> heap = new PriorityQueue<>();
ArrayList<Integer> entries = new ArrayList<>();
int nrOp = 0;
try (MyScanner in = new MyScanner(INPUT_FILE_PATH)) {
nrOp = in.nextInt();
int type = 0, elem = 0;
PrintWriter out = new PrintWriter(OUTPUT_FILE_PATH);
for (int i = 1; i <= nrOp; i++) {
type = in.nextInt();
switch (type) {
case 1:
elem = in.nextInt();
entries.add(elem);
heap.add(elem);
break;
case 2:
elem = in.nextInt();
heap.remove(entries.get(elem - 1));
break;
case 3:
out.println(heap.peek());
break;
}
}
out.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}