Cod sursa(job #1253071)

Utilizator lucian.okapiNestian Lucian-Dan lucian.okapi Data 31 octombrie 2014 19:30:18
Problema Energii Scor 0
Compilator cpp Status done
Runda preoji_cl11_12_lspvs Marime 0.97 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin("energii.in");
ofstream fout("energii.out");

int n,W;

struct gen
{
    int e,c;
} a[200];

void QUICKSORT(int inf,int sup)
{
  int x,i,j;gen t;
  i=inf;
  j=sup;
  x=a[(i+j)/2].c;
  do{
    while ((i<sup)&&(a[i].c<x)) i++;
    while ((j>inf)&&(a[j].c>x)) j--;
    if (i<=j)
    {
      t=a[i];
      a[i]=a[j];
      a[j]=t;
      i++;
      j--;
    }
  }while (i<=j);
  if (inf<j) QUICKSORT(inf,j);
  if (i<sup) QUICKSORT(i,sup);
}
int cst[2000];

void Rez()
{
    fin>>n>>W;
    int i;
    for(i=1;i<=n;i++)
        fin>>a[i].e>>a[i].c;
    QUICKSORT(1,n);
    int q=W;i=1;
    for(i=1;i<=n;i++)
    {
        q=W;
        while(q > 0)
        {
            q-=a[i].e;
            cst[i]+=a[i].c;
        }
    }
    int mini=999999;
    for(i=1;i<=n;i++)
        mini=min(mini,cst[i]);
    cout<<mini;
}
int main()
{
    Rez();
    return 0;
}