Cod sursa(job #1704777)

Utilizator dyana_valeryaDiana-Valeria dyana_valerya Data 19 mai 2016 12:05:49
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#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;
}