Pagini recente » Istoria paginii runda/bravo_1 | Istoria paginii runda/antrenament-de-primavarav/clasament | Istoria paginii runda/wellcodesimularematrice | Statistici stanley bet (stanleybet) | Cod sursa (job #1653979)
#include <iostream>
#include <fstream>
#include <climits>
#define MAXIM 1000000
#define VECTOR 1000002
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int v[VECTOR] , n , g , energie , consum , minn;
int main()
{
fin>>n>>g;
bool ok=false;
for(int i = 1 ; i<=100001 ;i++)
v[i]=INT_MAX-10000;
minn=MAXIM;
for(int i=1;i<=n;i++)
{
fin>>energie>>consum;
for(int j=g-1;j>=1;j--)
{
if(v[j]+consum<v[j+energie])
{
v[j+energie]=v[j]+consum;
if(v[j+energie]<minn && j+energie>=g) minn=v[j+energie],ok=true;
}
}
if(consum<v[energie]) v[energie]=consum;
if(energie>=g && consum<minn) minn=consum , ok=true;
}
if(ok) fout<<minn;
else fout<<-1;
}