Cod sursa(job #1668650)
| Utilizator | Data | 29 martie 2016 22:35:11 | |
|---|---|---|---|
| Problema | Energii | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.58 kb |
#include <fstream>
#define inf 0x3f3f3f3f
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;
for (int i=1;i<=co+1;++i)
b[i]=inf;
for (i=1;i<=n;++i) {
f>>x>>y;
for (j=co-x;j>=1;--j) {
if ( b[j+x]<b[j]+y)
b[j+x]=b[j]+y;}
for ( j=x;j>=0;--j)
if ( b[j]>y)
b[j]=y;
}
if (b[co]==inf)
g<<-1<<'\n';
else
g<<b[co]<<'\n';
return 0;
}
