Cod sursa(job #278105)

Utilizator Cristy94Buleandra Cristian Cristy94 Data 12 martie 2009 09:15:46
Problema Economie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<fstream.h>
ifstream f("economie.in");
ofstream g("economie.out");
unsigned int m[1001],n,i,x,k,nr,j,max;
int p[50001],t[1001];
int main(){
f>>n;max=0;
for(i=1;i<=n;i++){
    f>>m[i];if(m[i]>max)max=m[i];}
for(i=1;i<=n-1;i++)
  for(k=i+1;k<=n;k++)
    if(m[i]>m[k]){
      x=m[k];
      m[k]=m[i];
      m[i]=x;}
p[0]=1;
for(i=1;i<=n;i++)
   for(j=0;j<=max-m[i];j++)
       if (p[j]!=0&&p[j+m[i]]==0)
	   {p[j+m[i]]=i;}

for(i=1;i<=max;i++)
    if(p[i]!=0)
       if(t[p[i]]==0)
	   { x++;
	     t[p[i]]=1;
	   }
g<<x<<'\n';
for(i=1;i<=n;i++)
     if(t[i]!=0)
	    g<<m[i]<<'\n';
return 0;
}