Pagini recente » Cod sursa (job #2974076) | Cod sursa (job #310618) | Cod sursa (job #355543) | Cod sursa (job #1189637) | Cod sursa (job #707934)
Cod sursa(job #707934)
#include<iostream>
#include<fstream>
#include<algorithm>
#include<math.h>
using namespace std;
float ef[1002],w[1002],s[1002];
void sortare(int n)
{
int i,sortat;
float aux;
do
{
sortat=1;
for(i=1;i<n;i++)
if(ef[i]<ef[i+1])
{
aux=ef[i];
ef[i]=ef[i+1];
ef[i+1]=aux;
aux=w[i];
w[i]=w[i+1];
w[i+1]=aux;
aux=s[i];
s[i]=s[i+1];
s[i+1]=aux;
sortat=0;
}
}
while(sortat==0);
}
int main(void)
{
fstream f,g;
f.open("energii.in",ios::in);
g.open("energii.out",ios::out);
int n,e,sumw=0,sums=0,i;
f>>n>>e;
for(i=1;i<=n;i++)
{
f>>w[i]>>s[i];
sumw+=w[i];
sums+=s[i];
}
for(i=1;i<=n;i++)
ef[i]=w[i]/s[i];
sortare(n);
if(sumw<e)
g<<-1;
else
if(sumw==e)
g<<sums;
else
{
int ce=0;
sumw=0;i=0;
while(ce<e)
{
sumw+=w[++i];
ce+=s[i];
g<<ce;
}
}
}