Cod sursa(job #2546494)

Utilizator Hey_HeyIacovlev Denis Hey_Hey Data 14 februarie 2020 11:07:49
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <fstream>
#define INF 2000000002
#define forn(i,x,n) for(i=x;i<=n;++i)
using namespace std;
 
ifstream fi("rucsac.in");
ofstream fo("rucsac.out");
 
int C[2][10002], n, G, lc=1, lp=0, i, j, gr, p;
struct
{
    int gr,p;
}V[5002];
 
int main()
{
    fi>>n>>G;
    
    /*forn(i,1,n)
    for(i=1;i<=n;++i) fi >> V[i].gr >> V[i].p;*/
        
    for(i=1; i<=n; ++i,lc^=1,lp^=1)
    {
    	fi >> gr >> p;
	    for(j=1; j<=G; ++j) if(gr<=j) C[lc][j]=max(C[lp][j],C[lp][j-gr]+p);
	    									else C[lc][j]=C[lp][j];
	        
	    /*for(int a=0; a<=1; a++)
        {
        	for(int b=1; b<=G; b++)
        	fo << " " << C[a][b];
        	fo << '\n';
		}
		fo << '\n';*/
    }
	fo<<C[lp][G];
	
   	fi.close();
    fo.close();
    return 0; 
}