Cod sursa(job #1668583)
| Utilizator | Data | 29 martie 2016 21:29:30 | |
|---|---|---|---|
| Problema | Energii | Scor | 5 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.64 kb |
#include <fstream>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int n,co,x,y,s,i,j,mi,b[5010];
int main()
{ f>>n>>co;
f>>x>>y;
if (x<=co)
b[x]=y;
else
b[co]=y;
for (i=2;i<=n;++i) {
f>>x>>y;
for (j=co-x;j>=1;--j) {
if (b[j]>0)
if (b[j+x]==0 || b[j+x]<b[j]+y)
b[j+x]=b[j]+y;}
if (x<=co)
{if (b[x]==0 || b[x]>y)
b[x]=y;}
else
b[co]=y;
}
if (b[co]==0)
g<<-1<<'\n';
else
g<<b[co]<<'\n';
return 0;
}
