Cod sursa(job #300633)

Utilizator andreivFMI - vacaroiu andrei andreiv Data 7 aprilie 2009 16:12:22
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
   #include<stdio.h>  
   int n,g;  
   int v[16000];   
     
   void read()  
   {  
       freopen("energii.in","r",stdin);  
       freopen("energii.out","w",stdout);  
       int i,e,c;  
       for(i=1;i<=16000;i++)  
           v[i]=1000000000;  
       v[0]=1;  
       scanf("%d%d",&n,&g);  
       for(;n;n--)  
       {  
           scanf("%d%d",&e,&c);  
           for(i=g-1;i>=0;i--)  
               if(i+e<=g)  
             {  
                   if(v[i+e]>v[i]+c)  
                       v[i+e]=v[i]+c;  
               }  
               else  
                   if(v[g]>v[i]+c)  
                       v[g]=v[i]+c;  
       }  
       if(v[g]==1000000000)  
           printf("-1\n");  
       else  
           printf("%d",v[g]-1);  
   }  
     
   int main()  
   {  
       read();  
     
       return 0;  
   }