Pagini recente » Cod sursa (job #1531916) | Cod sursa (job #386028) | Cod sursa (job #1714702) | Cod sursa (job #2637091) | Cod sursa (job #2349856)
#include <iostream>
#include <fstream>
#define ll long long
using namespace std;
ifstream fin("zebughil.in");
ofstream fout("zebughil.out");
int n,i,j,nr,mn,ms,m,l,x,k;
int r[131100];
ll g,s[131100],ns,v[20];
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+1;
s[i]=g+1;
for(j=0;j<n;j++)
if(i&(1<<j))
{
x=i-(1<<j);
nr=r[x];
ns=s[x]+v[j+1];
if(s[x]+v[j+1]>g)
{
nr++;
ns-=g;
}
if(nr<=r[i])
{
r[i]=nr;
s[i]=min(s[i], ns);
}
}
}
fout<<r[l]<<"\n";
}
}