Cod sursa(job #2651294)

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

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