Pagini recente » Cod sursa (job #338943) | Cod sursa (job #138589) | Cod sursa (job #2094007) | Cod sursa (job #360170) | Cod sursa (job #91757)
Cod sursa(job #91757)
/*
*/
#include <fstream>
using namespace std;
#define N_MAX 1001
#define W_MAX 5001
#define FIN "energii04.in"
#define FOUT "energii.out"
int g,w,cmin = W_MAX,a[N_MAX],b[N_MAX],s,c,i,j;
int main()
{
ifstream fin(FIN);
ofstream fout(FOUT);
fin >> g >> w;
for(i = 0; i < g; ++i){
fin >> a[i] >> b[i];
}
if(a[0] >= w)
cmin = b[0];
for(i = 0; i < g; ++i,s = c = 0)
{
s+=a[i], c+=b[i];
for(j = i+1; j < g; ++j)
{
if( a[j] >= w ){
if(b[j] < cmin)
cmin = b[j];
}
else{
c += b[j];s += a[j];
if(s >= w){
if(c < cmin)
cmin = c,s = c = 0;
}
else
if(i == g-2 && j == g-1 && cmin == W_MAX)
cmin = -1;
}
}
}
fout << cmin;
return 0;
}
/*
3
3
1 1
1 1
1 1
3
expected: 3
3
8
2 4
2 3
8 9
expected: 9
4
6
7 2
2 3
7 9
7 2
expected: 2
3
16
8 6
8 5
8 5
expected 10
10
150
8 7
8 3
9 8
8 7
8 3
9 8
8 7
8 3
9 8
9 3
expected: -1
*/