Cod sursa(job #2651291)

Utilizator alex2209alexPavel Alexandru alex2209alex Data 22 septembrie 2020 08:53:59
Problema Energii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <bits/stdc++.h>

using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
//---------------------------
///Globale
int n,w,e[1001],c[1001],rasp,d[1001];
//---------------------------
///Functii
void citire();
void rezolvare();
//---------------------------
int main() 
{
	citire();
	rezolvare();
}
//---------------------------
void rezolvare()
{
	for(int i = 1; i <= w; ++i)
		d[i] = 10000000;
	int rasp = 10000000;
	for(int j = 1; j <= n; ++j)
		for(int i = w - 1; i >= 0; --i)
			if(d[i] != 10000000 && i + e[j] >= w)
				rasp = min(rasp,d[i] + c[j]);
			else if(d[i] != 10000000)
				d[i + e[j]] = min(d[i + e[j]],d[i] + c[j]);
	g << rasp;
}
//---------------------------
void citire()
{
	f >> n >> w;
	for(int i = 1; i <= n; ++i)
		f >> e[i] >> c[i];
}