Cod sursa(job #21977)

Utilizator poepiPoenaru Iulian poepi Data 25 februarie 2007 12:36:40
Problema Ghiozdan Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<stdio.h>
int a[2][200],max;
long N,G;
void citire()
{
	int x,i;
	FILE *f=fopen("ghiozdan.in","r");
	fscanf(f,"%ld %ld",&N,&G);

	for(i=1;i<=N;i++)
	{
		fscanf(f,"%d",&x);
		if(max<x)	
			max=x;
		a[1][x]++;
	}
	
	fclose(f);
}
int main()
{
	long int s=0,nr=0,i,k,j,l;
	citire();
	FILE *g=fopen("ghiozdan.out","w");
	for(i=max;i>=1;i--)
		if(a[1][i]!=0&&i+s<=G)
			for(k=1;k<=a[1][i];k++)
				if(i+s<=G)
					{s+=i;nr++;a[2][i]++;}
	fprintf(g,"%ld %ld \n",s,nr);
	for(j=1;j<=max;j++)
		if(a[2][j]!=0)
			for(l=1;l<=a[2][j];l++)
				fprintf(g,"%d \n",j);
	fclose(g);
	return 0;
}