Cod sursa(job #2399482)

Utilizator baragan30Baragan Andrei baragan30 Data 7 aprilie 2019 16:17:47
Problema Energii Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <iostream>
#include <fstream>
#include <algorithm>

using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
const int mr=10002;
int G,W,d[mr+5];
void dinamica (int x,int y)
{
    for(int i=mr-x;i>=1; i--){
        if((d[i+x]>d[i]+y||d[i+x]==0)&&d[i]!=0){d[i+x]=d[i]+y;}
    }
    if(d[x]>y||d[x]==0)d[x]=y;
}
void citire(){
f>>G >>W ;
for(int i= 1; i<= G; i++)
{
    int x,y;
    f>> x>> y;
    dinamica(x,y);
}
}

int main()
{ citire();
int i= W;
while( d[ i ] == 0&& i<mr){
        i++;
}
if(i>mr-1)g<<"-1";
else{
int mi= d[i];
for(int j= i+1; j<= mr; j++)
{
if(mi> d[j]&& d[j]!=0){mi=d[j];}
}
g<<mi;
}
    return 0;
}