Cod sursa(job #1982737)
| Utilizator | Data | 20 mai 2017 08:26:31 | |
|---|---|---|---|
| Problema | Energii | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.4 kb |
#include<fstream>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
long a[100000],g1,j,n,i,w,p,k;
int main()
{
f>>n>>g1;
for(j=1;j<=n;j++)
{
f>>w>>p;
for(i=10000;i>=1;i--)
if(a[i+w]<a[i]+p) a[i+w]=a[i]+p;
if(a[w]<p) a[w]=p;
}
k=100000;
for(i=10000;i>=1;i--)
if((a[i]>=g1) && (a[i]<k)) k=a[i];
if(k==100000) g<<"-1";
else g<<k;
f.close();
g.close();
return 0;
}
