Cod sursa(job #1853217)
| Utilizator | Data | 21 ianuarie 2017 15:16:58 | |
|---|---|---|---|
| Problema | Energii | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.59 kb |
#include <fstream>
#define mini(a, b) ( (a)<(b) ? (a) : (b) )
using namespace std;
ifstream cin ("energii.in");
ofstream cout ("energii.out");
const int MAX = 5e4 + 5, LIM = 1e4 + 5;
int n, caut, val, g, v[MAX], rez = MAX;
int main()
{
cin>>n>>caut;
for(int i=1; i<=n; ++i)
{
cin>>g>>val;
for(int j=LIM - g; j>=0; --j)
if(v[j+g]<v[j] + val){
v[j+g] = v[j] + val;
if(v[j+g] >= caut){
rez = mini(rez, v[j+g]);
}
}
}
cout<<rez;
return 0;
}
