Cod sursa(job #1807730)

Utilizator Matei_IgnutaMatei Ignuta Matei_Ignuta Data 16 noiembrie 2016 21:16:43
Problema Energii Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <stdio.h>
#include <vector>
using namespace std;
int d[10001];
int min(int a, int b)
{
    if(a<b) return a;
    return b;
}
int main()
{
    freopen("energii.in", "r", stdin);
    freopen("energii.out", "w", stdout);
    int n, putere, cost, neces;
    scanf("%d %d", &n, &neces);
    int d[10001];
    for(int i=0; i<=neces; i++)
        d[i]=neces+1;
    for(int i=0;i<n;i++)
    {
        scanf("%d %d", &putere, &cost);
        for(int j=neces; j>=0; j--)
        {
            if(j<=putere)
                d[j]=min(d[j],cost);
            else
                d[j]=min(d[j],d[j-putere]+cost);
        }
    }
    if(d[neces]==10001) printf("-1");
    else printf("%d", d[neces]);
    return 0;
}