Cod sursa(job #2751913)

Utilizator HatersMcCristian Ioan HatersMc Data 16 mai 2021 03:43:23
Problema Zeap Scor 0
Compilator java Status done
Runda Arhiva de probleme Marime 2.15 kb
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.PriorityQueue;
import java.util.Queue;
import java.util.Scanner;

public class main {
	
 

private static Queue<Integer>lista = new PriorityQueue<Integer>();
public static String Cauta(int x)
{
   if(lista.contains(x))
	   return "1";
   else
	   return "0";
}
public static String Sterge(int x)
{
	if(!lista.contains(x))
		return "-1";
	else
	{
		lista.remove(x);
	}
	return null;
		
}
public static void Inserare(int x)
{
	if(!lista.contains(x))
		lista.add(x);
		
}
public static String Min(){
	if(lista.size()>=2)
	{int x= lista.peek();
	Iterator vali = lista.iterator();
	vali.next();
	int y= (int)vali.next();
	int minim = y-x;
	while(vali.hasNext()) {
		x=y;
		y=(int)vali.next();
		if(y-x<minim)
			minim=y-x;
	}
	return Integer.toString(minim);
	}
	else
		return "-1";
		
}
public static int last(Queue<Integer> lista2)
{
   Iterator vali = lista2.iterator();
   int x=0;
   while(vali.hasNext())
	   x=(int) vali.next();
return x;
}
public static String Max() {
	if(lista.size()>=2)
		return Integer.toString(last(lista)-lista.peek());
	else
		return "-1";
}

	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		File file = new File("zeap.in");
		PrintWriter pw = new PrintWriter(new FileWriter("zeap.out"));
		Scanner scanner = new Scanner(file);
		while(scanner.hasNext())
		{
			String command = scanner.nextLine();
			if(command.contentEquals("MAX"))
				pw.write(Max());
			if(command.contentEquals("MIN"))
				pw.write(Min());
			if(!command.contains("M"))
			{
				String[] token = command.split(" ");
				if(token[0].contentEquals("I"))
					Inserare(Integer.parseInt(token[1]));
				if(token[0].contentEquals("S"))
					if(Sterge(Integer.parseInt(token[1]))==null)
						pw.write("-1");
				if(token[0].contentEquals("C"))
					pw.write(Cauta(Integer.parseInt(token[1])));
			}
			
		}
	}

}