Pagini recente » Cod sursa (job #1934432) | Cod sursa (job #2879635) | Cod sursa (job #1524534) | Istoria paginii runda/oni2014_ziua_iv | Cod sursa (job #1536602)
#include <iostream>
#include <fstream>
#include <limits.h>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int v[10000],gr[10000];
int main()
{
int n,lim,gre,val,mi,ci,MI;
f>>n;
f>>lim;
for(int i=1;i<=n;i++)
{
f>>gr[i];
f>>v[i];
}
do
{
gre=0;
val=0;
for(int i=1;i<=n;i++)
{
if(gr[i]!=-1)
{
val=val+v[i];
gre=gre+gr[i];
}
}
if(gre>lim)
{
mi=INT_MAX;
for(int i=1;i<=n;i++)
{
if(v[i]<mi)
mi=v[i];
}
MI=INT_MIN;
for(int i=1;i<=n;i++)
{
if(v[i]==mi)
if(gr[i]>MI)
MI=gr[i];
}
for(int i=1;i<=n;i++)
{
if(gr[i]==MI && v[i]==mi)
ci=i;
}
for(int i=ci;i<n;i++)
{
v[i]=v[i+1];
gr[i]=gr[i+1];
}
n--;
}
}while(gre>lim);
g<<val;
return 0;
}