Cod sursa(job #1095090)

Utilizator irinaneaguIrina Neagu irinaneagu Data 30 ianuarie 2014 13:39:57
Problema Energii Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include<cstdio>
int gen[1001],cst[1001],sum[5000001],csum[5000001];
int main(){
    freopen("energii.in","r",stdin);
    freopen("energii.out","w",stdout);
    int s=0,i,j,g,w,min=99999999,sol;
    scanf("%d%d",&g,&w);
    for(i=1;i<=g;i++){
        scanf("%d%d",&gen[i],&cst[i]);
        s+=gen[i];
    }
    for(i=1;i<=g;i++){
        csum[gen[i]]=cst[i];
        for(j=1;j<=s;j++)
            if(sum[j]!=0)
                csum[j+gen[i]]=sum[j]+cst[i];
        for(j=1;j<=s;j++)
            if(csum[j]!=0&&sum[j]==0){
                sum[j]=csum[j];
                csum[j]=0;
            }
    }
    i=1;
    while(i<s){
        i++;
        if(i>=w&&sum[i]<min&&sum[i]!=0){
            min=sum[i];
            sol=i;
        }
    }
    printf("%d",min);
    return 0;
}