Cod sursa(job #1768100)

Utilizator PatrickAJPatrick Josephs PatrickAJ Data 30 septembrie 2016 10:44:08
Problema Problema rucsacului Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.68 kb
#include <stdio.h>
#include <stdlib.h>
int g[5001], p[5001];
int main()
{
    FILE *f1 = fopen("rucsac.in","r") , *f2 = fopen("rucsac.out","w");
    int n,profit = 0, greutate = 0,k,i,poz,min;
    fscanf(f1,"%d%d",&n,&k);
    for(i=0;i<n;i++){
        fscanf(f1,"%d%d",&g[i],&p[i]);
        greutate = greutate + g[i];
        profit = profit + p[i];
    }
    while(greutate > k){
        min = 99999999;
        for(i=0;i<n;i++){
            if(p[i] < min){
                min = p[i];
                poz = i;
            }
        }
        profit= profit-p[i];
        p[i]=100000;
        greutate = g[poz];
    }
    fprintf(f2,"%d",profit);
    return 0;
}