Cod sursa(job #1151236)

Utilizator serbanSlincu Serban serban Data 23 martie 2014 22:44:41
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.03 kb
#include <iostream>
#include <cstdio>
#include <algorithm>

using namespace std;

int n,G,x[1005][10005],maxx;
struct cor{
int e,c;
};
cor v[1005];
int cmp(cor aa,cor bb)
{
    if(aa.c==bb.c)
        return aa.e<bb.e;
    return aa.c<bb.c;
}
int main()
{
    int i,j;
    FILE *f=fopen("energii.in","r");
    FILE *g=fopen("energii.out","w");
    fscanf(f,"%d%d",&n,&G);
    for(i=1;i<=n;i++)
    {
        fscanf(f,"%d%d",&v[i].e,&v[i].c);
    }
    /*sort(v+1,v+n+1,cmp);
    for(i=1;i<=n;i++)
    {
        maxx+=v[i].e;
        maxx=min(maxx,G+1);
        for(j=1;j<=v[i].e;j++)
        {
            if(x[i-1][j])
                x[i][j]=min(x[i-1][j],v[i].c);
            else x[i][j]=v[i].c;
        }
        for(j=v[i].e+1;j<=maxx;j++)
        {
            if(x[i-1][j])
                x[i][j]=min(v[i].c+x[i-1][j-v[i].e],x[i-1][j]);
            else x[i][j]=v[i].c+x[i-1][j-v[i].e];
        }
    }
    if(x[n][G])
        fprintf(g,"%d\n",x[n][G]);
    else */fprintf(g,"-1\n");
    return 0;
}