Pagini recente » Monitorul de evaluare | Profil Vlad1111 | Cod sursa (job #2493721) | Statistici Bardan Adrian (adddyyy) | Cod sursa (job #1253071)
#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;
}