Cod sursa(job #2982141)

Utilizator tmi26Teodor Stupariu tmi26 Data 19 februarie 2023 16:55:52
Problema Energii Scor 95
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
const long long cst=1005,cst1=2*1e4+5;
pair<long long,long long> v[cst];
long long f[cst1];
int main()
{
    for(int i=0;i<cst1;i++)
        f[i]=1e9;
    long long n,m;
    fin>>n>>m;
    for(long long i=1; i<=n; i++)
    {
        fin>>v[i].second>>v[i].first;
    }
    sort(v+1,v+n+1);
    f[0]=1;
    for(long long i=1; i<=n; i++)
    {
        for(long long j=cst1-1; j>=v[i].second; j--)
        {
            if(f[j-v[i].second])
            {
                f[j]=min(f[j],f[j-v[i].second]+v[i].first);
            }
        }
    }
    long long minn=1e17;
    for(long long i=cst1-1; i>=m; i--)
    {
        if(f[i])
            minn=min(minn,f[i]);
    }
    if(minn==1e17)
        minn=0;
    fout<<minn-1;
    return 0;
}