Cod sursa(job #2505949)

Utilizator XLuysSaratean Tudor XLuys Data 7 decembrie 2019 12:07:26
Problema Energii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>
#define INF 20000
using namespace std;
ifstream fin("denergii.in");
ofstream fout("energii.out");
int MAT[2][20001];

int G,N;
struct salut
{
    int g,p;
};
salut Ruc[20000];
int main()
{
    fin>>N>>G;
    for(int i=1;i<=2;i++)
        for(int j=1;j<=G;j++)
            MAT[i][j]=INF;
    for(int i=1;i<=N;i++)
        fin>>Ruc[i].g>>Ruc[i].p;
    int k=0;
    for(int i=1;i<=N;i++,k=1-k)
        for(int j=1;j<=G;j++)
            if(j>=Ruc[i].g)
                MAT[k][j]=min(MAT[1-k][j],MAT[1-k][j-Ruc[i].g]+Ruc[i].p);
                else
                MAT[k][j]=MAT[1-k][j];
    fout<<MAT[1-k][G];
    return 0;
}