Cod sursa(job #3255555)

Utilizator Shaan_StefanShaan Stefan Shaan_Stefan Data 11 noiembrie 2024 08:48:51
Problema Energii Scor 25
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <fstream>
#include <cstring>
#include <map>
#define NMAX 5000
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");

int n, powr, x, y, costmin=300000;
int sols[5010];
int main()
{
	fin>>n>>powr;
	memset(sols, -1, sizeof(sols));
	sols[0]=0;
	for(int i=1; i<=n; i++)
	{
		fin>>x>>y;
		for(int j=powr-1; j>=0; j--)
        {
            if(sols[j]!=-1)
            {
                int ps=j+x, cost=sols[j]+y;

                if(ps>=powr && cost<costmin)
                    costmin=cost;
                else if(sols[ps]==-1 || sols[ps]>cost)
                    sols[ps]=cost;
            }
        }
	}

	/*for(int i=0; i<powr; i++)
    {
        if(sols[i]!=-1)
            fout<<i<<' '<<sols[i]<<'\n';
    }*/

	fout<<costmin;
	return 0;
}