Pagini recente » Cod sursa (job #278504) | Cod sursa (job #1346518) | Cod sursa (job #119988) | Cod sursa (job #794159) | Cod sursa (job #1704777)
#include<fstream>
#define FOR(a,b,c) for(int a=(b); a<=(c); ++a)
#define ROR(a,b,c) for(int a=(b); a>=(c); --a)
using namespace std;
ifstream f("rucsac.in");
ofstream t("rucsac.out");
struct RUC{
int GR, profit;
};
int N, G, sol, A[10001];
RUC Q[10001];
int main(){
f>>N>>G;
FOR(i,1,N)
f>>Q[i].GR>>Q[i].profit;
FOR(i,1,N){
ROR(j,G-Q[i].GR,0){
if(A[j+Q[i].GR]<A[j]+Q[i].profit){
A[j+Q[i].GR]=A[j]+Q[i].profit;
if(sol<A[j+Q[i].GR])
sol=A[j+Q[i].GR];
}
}
}
t<<sol;
}