Pagini recente » Cod sursa (job #1758503) | Cod sursa (job #405795) | Cod sursa (job #2294938) | Cod sursa (job #2601974) | Cod sursa (job #932809)
Cod sursa(job #932809)
#include<stdio.h>
FILE *f=fopen("optim.in","r"),*g=fopen("optim.out","w");
int s[31],a[31],n,p,min=2147000000,max=-2147000000,val=0;
void Citire()
{int i;
fscanf(f,"%d %d",&n,&p);
for (i=1;i<=n;i++) fscanf(f,"%d",&a[i]);
}
void PrelSol()
{int i,sm=1,st=0;
for (i=1;i<=n;i++) if (s[i]==0) {st+=sm*a[i];sm=1;} else sm*=a[i];
if (st<min) min=st;
if (st>max) max=st;
//fprintf(g,"%d\n",st);
}
void back(int k)
{s
if (k==n) {if (val==p) PrelSol();}
else {
s[k]=0;back(k+1);
if (val<p)
{s[k]=1; val++; back(k+1); val--; }
}
}
int main()
{
Citire();
back(1);
fprintf(g,"%d %d",min,max);
fclose(g);
return 0;
}