Pagini recente » Cod sursa (job #2169312) | Cod sursa (job #1071339) | Cod sursa (job #447634) | Cod sursa (job #2919295) | Cod sursa (job #88511)
Cod sursa(job #88511)
#include <fstream.h>
ifstream f("energii.in");
ofstream g("energii.out");
int n,used[1001];
int x[1001];
int c[1001][2];
int y[1001][1];
int w, s;
long p;
long pmin;
void verificare()
{
if (pmin>p)
pmin=p;
}
void genperm(int k)
{
if (k==n+1)
verificare();
else
if (s>=w)
verificare();
else
{
register int i;
for (i=1;i<=n;i++)
if (!used[i])
{
used[i]=1;
x[k]=i;
s+=c[i][1];
p+=c[i][2];
genperm(k+1);
s-=c[i][1];
p-=c[i][2];
used[i]=0;
}
}
}
int main()
{
f>>n;
f>>w;
long h=0;
pmin=1000000000;
register int i;
for (i=1;i<=n;i++)
{
f>>c[i][1];
f>>c[i][2];
h+=c[i][1];
}
if (h<w)
g<<"-1";
else
{
genperm(1);
g<<pmin;
}
f.close();
g.close();
return 0;
}