Pagini recente » Cod sursa (job #2623931) | Cod sursa (job #2751208) | Cod sursa (job #2055640) | Cod sursa (job #1301018) | Cod sursa (job #742497)
Cod sursa(job #742497)
#include <iostream>
#include <fstream>
using namespace std;
int main(){
ifstream inr ("rucsac.in");
ofstream our ("rucsac.out");
int n,q,u,v,e=0;
inr >> n;
inr >> q;
int a[q+1][n+1],b[n+1];
for(int i=1; i<=n; i++){
for(int j=1; j<=q; j++){
a[j][i]=0;
}
inr >> a[0][i];
inr >> b[i];
a[a[0][i]][i]=b[i];
}
/*while(inr.good()){
inr >> u;
inr >> v;
if(u<=q){
e++;
a[0][e]=u;
a[u][e]=v;
b[e]=v;
}
}*/
for(int j=1; j<=n-1; j++){
for(int i=1; i<=q; i++){
if(a[i][j]!=0){
u=i+a[0][j+1];
v=a[i][j]+b[j+1];
if(a[i][j]>a[i][j+1]){a[i][j+1]=a[i][j];}
if(u<=q){
if(v>a[u][j+1]){a[u][j+1]=v;}
}
}
}
}
e=a[1][n];
for(int i=2; i<=q; i++){
if(e<a[i][n]){e=a[i][n];}
}
our << e;
}