Pagini recente » Cod sursa (job #443280) | Cod sursa (job #1932182) | Cod sursa (job #690920) | Cod sursa (job #497248) | Cod sursa (job #696439)
Cod sursa(job #696439)
#include<iostream.h>
#include<stdio.h>
struct asfg{ int e;
int c;
};
asfg v[1002];
int i,j,eg,n,k,s,aux;
int main()
{freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
cin>>n;
cin>>eg;
for(i=1;i<=n;i++)
{cin>>v[i].e>>v[i].c;
s+=v[i].e;}
if(s<eg)
cout<<"-1";
else
if(s==eg)
{s=0;
for(i=1;i<=n;i++)
s+=v[i].c;
cout<<s;
}
else
{s=0;
for(j=1;j<=n;j++)
{for(k=j;k<=n;k++)
if(v[j].e-v[j].c<v[k].e-v[k].c)
{aux=v[j].e;
v[j].e=v[k].e;
v[k].e=aux;
aux=v[j].c;
v[j].c=v[k].c;
v[k].c=aux;}
else
if(v[j].e-v[j].c==v[k].e-v[k].c)
if(v[j].e<v[k].e)
{aux=v[j].e;
v[j].e=v[k].e;
v[k].e=aux;
aux=v[j].c;
v[j].c=v[k].c;
v[k].c=aux;}
s+=v[j].c;
eg-=v[j].e;
if(eg<=0)
{cout<<s<<" ";j=n+1;
}
}
}
}