Pagini recente » Cod sursa (job #1355524) | Cod sursa (job #1935006) | Cod sursa (job #1232415) | Cod sursa (job #262077) | Cod sursa (job #1583616)
#include <fstream>
#include <algorithm>
#include <iostream>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
struct energie
{
int p,n;
};
int ordo(energie a, energie b)
{
return(a.n<b.n);
}
int n,w,i,st,dr,s,c,ok,minn;
energie E[1001];
int main()
{
f>>n>>w;
for(i=1;i<=n;i++)
{
f>>E[i].p>>E[i].n;
minn+=E[i].n;
}
sort(E+1,E+n+1,ordo);
/*for(i=1;i<=n;i++)
g<<E[i].p<<" "<<E[i].n<<'\n';*/
st=dr=1;
ok=1;
s+=E[dr].p;
c+=E[dr].n;
while(ok!=0)
{
if(s>=w)
{
minn=min(minn,c);
c-=E[st].n;
s-=E[st].p;
st++;
}
else
{
if(dr==n)
ok=0;
else
{
dr++;
s+=E[dr].p;
c+=E[dr].n;
}
}
}
g<<minn;
f.close();
g.close();
return 0;
}