Cod sursa(job #3264341)

Utilizator chiarimitrebuiecontquestionmarkmiruna mihailescu chiarimitrebuiecontquestionmark Data 20 decembrie 2024 15:54:46
Problema Energii Scor 55
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>
int d[3][10002], energie[1002], cost[1002], costmin=5011;
using namespace std;

int main(){
  ifstream fin("energii.in");
  ofstream fout("energii.out");
  int g, E;
  fin>>g>>E;
  for(int i=1;i<=g;i++)
    fin>>energie[i]>>cost[i];

  for(int i=0; i<=2; i++)
    for(int e=1; e<=5001; e++)
      d[i][e]=5010;

  for(int i=1; i<=g; i++){
    for(int e=1; e<=5001; e++){
      if(e>=energie[i])
        d[i%2][e]=min(d[1-i%2][e-energie[i]]+cost[i], d[1-i%2][e]);
      else
      d[i%2][e]=d[1-i%2][e];
    }
  }
for(int i=0; i<=1;i++){
  for(int e=E; e<=5001; e++){
    if(d[i][e]<costmin)
      costmin=d[i][e];
  }
}
  if(costmin==5010)
    fout<<"-1";
  else fout<<costmin;
    return 0;
}