Cod sursa(job #2393535)

Utilizator ReikoNicu Savva Reiko Data 31 martie 2019 16:54:00
Problema Problema rucsacului Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fi("rucsac.in");
ofstream fo("rucsac.out");
char c='\n';

double a[5004];
int w[5003], p[5005];
int g, n, q,s;

int main ()

{
fi>>n>>g;

for (int i=1;i<=n;i++)
{
	fi>>w[i]>>p[i];
	a[i]=1.00*p[i]/w[i];	
}

for (int i=1; i<=n-1; i++)
	for (int j=i+1; j<=n;j++)
		if (a[j]>=a[i])
		{
			swap (a[i],a[j]);
			swap (w[i],w[j]);
			swap (p[i],p[j]);
		}

for (int i=1;i<=n;i++) cout<<a[i]<<" ";
cout<<c;		
for (int i=1;i<=n;i++) cout<<w[i]<<" ";
cout<<c;
for (int i=1;i<=n;i++) cout<<p[i]<<" ";
cout<<c<<c;
		
int i=1;		
while (q<=g)
{
	s+=p[i];
	q+=w[i];
	i++;
}
cout<<c<<c<<q<<c<<c;
s-=(q-g)*a[i-1];
fo<<s;
	return 0;
}