Pagini recente » Cod sursa (job #736172) | Cod sursa (job #142121) | Cod sursa (job #715756) | Cod sursa (job #1769368) | Cod sursa (job #1720038)
import java.io.File;
import java.io.FileInputStream;
import java.io.PrintWriter;
import java.util.Scanner;
/**
*
* @author Alexandru
*/
public class Main {
int n, G;
int g[], p[];
int c[][];
public void citire() throws Exception {
Scanner sc = new Scanner(new FileInputStream("rucsac.in"));
n = sc.nextInt();
G = sc.nextInt();
g = new int[n+1];
p = new int[n+1];
c = new int[G+1][n+1];
for(int i = 1; i <= n; i++) {
g[i] = sc.nextInt();
p[i] = sc.nextInt();
}
sc.close();
}
public void rucsac() throws Exception {
for(int i = 0; i <= G; i++)
c[i][0] = 0;
for(int i = 0; i <= n; i++) {
c[0][i] = 0;
}
for(int greutate = 1; greutate <= G; greutate ++) {
for(int i = 1; i <= n; i++)
if (greutate < g[i])
c[greutate][i] = c[greutate][i-1];
else {
c[greutate][i] = Math.max(p[i] + c[greutate - g[i]][i-1], c[greutate][i-1]);
}
}
PrintWriter writer = new PrintWriter(new File("rucsac.out"));
writer.print(c[G][n]);
writer.close();
}
public static void main(String[] args) throws Exception {
Main pd_rucsac = new Main();
pd_rucsac.citire();
pd_rucsac.rucsac();
}
}