Cod sursa(job #1785366)
| Utilizator | Data | 21 octombrie 2016 09:21:17 | |
|---|---|---|---|
| Problema | Ghiozdan | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.73 kb |
#include <fstream>
using namespace std;
ifstream fin ("ghiozdan.in");
ofstream fout("ghiozdan.out");
int n,g,i,v[20010],s[75010],j,t[75010];
int main()
{
fin >> n >> g;
for (i=1;i<=n;i++)
{
fin >> v[i];
}
for (i=1;i<=n;i++)
{
if (v[i]<=g && t[v[i]]==0) // test sep ==?
{
s[v[i]]=i;
t[v[i]]=1;
}
for (j=1;j<=g;j++)
{
if (s[j]>0 && j+v[i]<=g )
{
if (t[j+v[i]]==0
|| t[j]+t[v[i]] <t[j+v[i]])
{
s[j+v[i]]=i;
t[j+v[i]]=t[j]+t[v[i]];
}
}
}
}
return 0;
}
