Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- import java.io.*;
- public class Queue1Task {
- FastScanner in;
- PrintWriter out;
- public class Queue {
- private Object[] elements = new Object[10];
- private int start = 0;
- private int end = 0;
- private int size = 0;
- public int size() {
- return size;
- }
- public void ensureCapacity(int capacity) {
- if (elements.length >= capacity) {
- return;
- }
- Object[] newElements = new Object[2 * capacity];
- for (int i = 0; i < size; i++) {
- if (i < size - start) {
- newElements[i] = elements[start + i];
- } else {
- newElements[i] = elements[i + start - size()];
- }
- }
- start = 0;
- end = size();
- elements = newElements;
- }
- public void push(Object e) {
- ensureCapacity(size() + 1);
- elements[end] = e;
- end = (end + 1) % elements.length;
- size++;
- }
- public Object pop() {
- Object x = elements[start];
- start = (start + 1) % elements.length;
- size--;
- return x;
- }
- }
- public void solve() throws IOException {
- String phrase;
- char ch;
- Queue q = new Queue();
- int m = Integer.parseInt(in.next());
- for (int i = 0; i < m; i++) {
- phrase = in.next();
- ch = phrase.charAt(0);
- if (ch == '+') {
- q.push(in.nextInt());
- }
- if (ch == '-') {
- out.println(q.pop());
- }
- }
- }
- public void run() {
- try {
- in = new FastScanner(new File("queue1.in"));
- out = new PrintWriter(new File("queue1.out"));
- solve();
- out.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- class FastScanner {
- BufferedReader br;
- StringTokenizer st;
- FastScanner(File f) {
- try {
- br = new BufferedReader(new FileReader(f));
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- }
- }
- String next() {
- while (st == null || !st.hasMoreTokens()) {
- try {
- st = new StringTokenizer(br.readLine());
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- return st.nextToken();
- }
- int nextInt() {
- return Integer.parseInt(next());
- }
- }
- public static void main(String[] arg) {
- new Queue1Task().run();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement