Pagini recente » Cod sursa (job #214848) | Cod sursa (job #1521846) | Cod sursa (job #2621379) | Cod sursa (job #641134) | Cod sursa (job #750268)
Cod sursa(job #750268)
# include <fstream>
# include <cstring>
# include <algorithm>
# define dim1 10001
# define dim2 1001
# define dim3 5001
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int E[ dim1 ], C[ dim1 ];
int A[ dim2 ][ dim3 ];
int N, G;
void citire()
{
f >> N >> G;
for ( int i = 1 ; i <= N ; i++ )
f >> E[ i ] >> C[ i ];
}
void rezolva()
{
int i, j;
for ( i = 1 ; i <= N ; i++ )
for ( j = 0 ; j <= G ; j++ )
{
A[ i ][ j ] = A[ i - 1 ][ j ];
if ( C[ i ] <= j )
A[ i ][ j ] = max( A[ i - 1 ][ j ], A[ i - 1 ][ j - C[ i ] ] + E[ i ] );
// else
// A[ i ][ j ] = A[ i - 1 ][ j ];
}
for ( i = 0 ; i <= G ; i++ )
if ( A[ N ][ i ] >= G )
break;
g << i;
//g << A[ N ][ G ];
}
void afisare()
{
int i, j;
for ( i = 1 ; i <= N ; i++ )
{
for ( j = 0 ; j <= G ; j++ )
g << A[ i ][ j ] << " ";
g << "\n";
}
}
int main()
{
citire();
rezolva();
//afisare();
return 0;
}