Pagini recente » Cod sursa (job #1997317) | Cod sursa (job #3284711) | Cod sursa (job #1527223) | Cod sursa (job #452413) | Cod sursa (job #2349870)
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
ifstream fin("zebughil.in");
ofstream fout("zebughil.out");
int n,i,j,nr,x,m,l,g;
int r[131100],s[131100],v[20];
long long ns;
int main() {
int h=3;
while(h--)
{
fin>>n>>g;
m=n; n=0;
for(i=1;i<=m;i++)
{
fin>>nr;
if(nr>0) v[++n]=nr;
}
l=(1<<n)-1;
s[0]=0;
r[0]=1;
for(i=1;i<=l;i++)
{
r[i]=n+5;
s[i]=g+5;
for(j=0;j<n;j++)
if(i&(1<<j))
{
x=i-(1<<j);
nr=r[x];
ns=s[x]+v[j+1];
if(ns>g)
{
nr++;
ns=v[j+1];
}
if(nr==r[i] && ns<s[i]) s[i]=(int)ns;
if(nr<r[i])
{
r[i]=nr;
s[i]=(int)ns;
}
}
}
fout<<r[l]<<"\n";
}
}