Cod sursa(job #269916)

Utilizator alle_forever13Alexandra Retegan alle_forever13 Data 3 martie 2009 16:17:29
Problema Heapuri Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.9 kb
#include<stdio.h>

#define input "heapuri.in"
#define output "heapuri.out"

#define dim 10001

void operatie1(int m);
void operatie2(int m);
void tipar();

int n, op, a[dim], cont;

FILE *in, *out;

int main()
{
	int x;

	in = fopen (input, "r");
	out = fopen (output, "w");

	fscanf(in, "%d", &n);

	for(int i=1; i<=n; i++)
	{
		fscanf(in, "%d", &op);

		if(op == 1 || op == 2)
		{
			fscanf(in, "%d", &x);

			if(op==1)

				operatie1(x);

			else

				operatie2(x);
		}

		if (op == 3)
		{
			tipar();

			if(i<n)

				fprintf(out, "\n");
		}

	}

	return 0;

}

void operatie1(int m)
{
	cont++;

	a[cont] = m;

}

void operatie2(int m)
{
	for(int i = m; i<cont; i++)

		a[i] = a[i+1];

	cont--;

}

void tipar()
{
	int min = a[1];

	for(int i=2; i<=cont; i++)

		if(a[i]<min)

			min = a[i];

	fprintf(out, "%d", min);

}