Cod sursa(job #3203957)

Utilizator Didi6Cioana Diana Didi6 Data 15 februarie 2024 08:17:19
Problema Energii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <bits/stdc++.h>

using namespace std;
int k,m;
long long v[10001];
ifstream in("energii.in");
ofstream out("energii.out");
//#define in cin
//#define out cout
void rucs(int g, int p)
{
    for (int i=k;i>=0;i--)
    {
        if (v[i]!=-1)
        {
            if (v[i+g]>v[i]+p || v[i+g]==-1)
            v[i+g]=p+v[i];
        }
    }
}

void cit()
{
    int n;
    int x,y;
    in>>n>>k;
    for (int i=1;i<=k;i++)
        v[i]=-1;
    for (int i=0;i<n;i++)
    {
        in>>x>>y;
        rucs(x,y);
    }
}

int checky()
{
    for (int i=k;i<=10001;i++)
        if (v[i]<m && v[i]>0)
        m=v[i];
    return m;
}

int main()
{
    cit();
    m=INT_MAX;
    if (checky()==INT_MAX)
    out<<m;
    else
        out<<-1;
    return 0;
}