Cod sursa(job #949319)
| Utilizator | Data | 13 mai 2013 12:59:57 | |
|---|---|---|---|
| Problema | Ghiozdan | Scor | 12 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.61 kb |
#include <cstdio>
#include <cstring>
using namespace std;
int v[20005],d[100000],sol[20005];
int main()
{
freopen("ghiozdan.in","r",stdin);
freopen("ghiozdan.out","w",stdout);
int n,g,i,j,max,q=0;
scanf("%d%d",&n,&g);
for(i=1;i<=n;i++) scanf("%d",&v[i]);
memset(d,-1,sizeof(d));
max=0;d[0]=0;
for(i=1;i<=n;i++)
{
for(j=max;j>=0;j--)
{
if(d[j]!=-1)
d[j+v[i]]=d[j]+1;
if(j+v[i]>max)
max=j+v[i];
}
}
while(d[g]==-1) g--;
printf("%d %d",g,d[g]);
return 0;
}
