Cod sursa(job #385480)
Utilizator | Neagoe Alexandru pykh | Data | 22 ianuarie 2010 20:07:48 |
---|---|---|---|
Problema | Energii | Scor | 5 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.53 kb |
#include<stdio.h>
const char in[]="energii.in";
const char out[]="energii.out";
const int N=1005;
int c[N], w[N], a[N], G, W, k=0;
inline int max(int x, int y)
{
return x>=y? x :y;
}
int main()
{
freopen(in,"r",stdin);
freopen(out,"w",stdout);
int i, j;
scanf("%d%d", &G, &W);
for(i=1;i<=G && !k;++i)
{scanf("%d%d", &c[i], &w[i]);
for(j=1;j<=i;++j)
{
a[i]=max(c[j] + a[i - j] , w[j]);
if(a[i]>=W){k=a[i];break;}
}
}
if(!k)printf("-1\n");
else printf("%d\n", k);
return 0;
}