Cod sursa(job #1482998)

Utilizator BodStfBodoarca Stefan BodStf Data 8 septembrie 2015 14:46:56
Problema Heapuri Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include<stdio.h>

#define MAX 100000
int a[MAX];

int min(int* v,int l,int r)
{
	if(l==r)
		return v[l];
	int m=(l+r)/2;
	int minleft=min(v,l,m);
	int minright=min(v,m+1,r);
	if(minleft<minright)
		return minleft;
	return minright;
}

int main()
{
	FILE* f1,*f2;
	f1=fopen("heapuri.in","r");
	f2=fopen("heapuri.out","w");
	int N,k=0,p,s;
	fscanf(f1,"%d",&N);
	for(int i=0;i<N;i++)
	{
		fscanf(f1,"%d",&p);
		if(p==1)
		{
			fscanf(f1,"%d",&a[k]);
			k++;
			continue;
		}
		if(p==2)
		{
			fscanf(f1,"%d",&s);
			a[s-1]=1000000001;
			continue;
		}
		if(p==3)
			fprintf(f2,"%d\n",min(a,0,k-1));
	}
	fcloseall();
	return 0;
}