Cod sursa(job #1290236)

Utilizator jordasIordache Andrei Alexandru jordas Data 10 decembrie 2014 23:18:06
Problema Ghiozdan Scor 6
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <fstream>
#include <iomanip>
#include <cmath>

using namespace std;

 ifstream x ("ghiozdan.in");
 ofstream y ("ghiozdan.out");

 int n,g,a[20000],v[75001];

 void ghiozdan()
 {
     int i,j;

     v[0]=1;

     for(j=0;j<=g;j++)
        v[j]=n+1;

     v[0]=1;
 /*
     for(j=0;j<=g;j++)
        y<<setw(12)<<j;
     y<<'\n';
 */
     for(i=0;i<n;i++)
     {
         for(j=g;j>=a[i];j--)
            if(v[j-a[i]] && v[j-a[i]]<=n)
            {
                v[j]=min(v[j],v[j-a[i]]+1);
                break;
            }
 /*
         for(j=0;j<=g;j++)
            y<<setw(12)<<v[j];
         y<<'\n';
 */
     }

     for(j=g;j>=0;j--)
        if(v[j]<=n)
        {
            y<<j<<' '<<v[j]-1;
            break;
        }
 }

int main()
{
    x>>n>>g;
    for(int i=0;i<n;i++)
       x>>a[i];
    ghiozdan();
    return 0;
}