Cod sursa(job #1877468)

Utilizator Skarr123Viscun-Munteanu Grigore Skarr123 Data 13 februarie 2017 13:07:27
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.21 kb
#include<bits/stdc++.h>

using namespace std;
int a[100000],b[100000],r,k,n,pret;
 int main(){
 	cout<<"DA-ti numarul de feluri de pietre"<<endl;
 	cin>>n;
 	cout<<"DA-ti nr de kg cit incape in rucsac :"<<endl;
 	cin>>r;
	cout<<"DA-ti cantiatea de pietre(a[i]) :"<<endl;
 for(int i=1;i<=n;i++){
 	cin>>a[i];
 }
 cout<<"DA-ti pretul unui kg de pietre(b[i]) :"<<endl;
 for(int i=1;i<=n;i++){
 	cin>>b[i];
 }
 int k=0;
 for(int i=1;i<=n;i++){
 	for(int j=1;j<=n;j++){
 	  if(b[i]<=b[j]){
	   swap(b[i],b[j]);
	   swap(a[i],a[j]);	
	         }
      }  
 }
  for(int i=1;i<=n;i++){
         if(k<r){
         	k+=a[i];
         	pret+=b[i];
		 }
		 else if(k=r){
		 	cout<<"Ruscsacul a fost completat cu succes"<<endl;
		 	cout<<"pretul total este de : "<<pret<<endl;
		 }
		 else if(k+a[i]>r){for(int k1=i;i>=n;i++){
		 	if(k+a[k1]>r)cout<<endl;
		 	else if(k+a[k1]==r){
		 			k+=a[i];
         	pret+=b[i];
         	cout<<"Ruscsacul a fost completat cu succes"<<endl;
		 	cout<<"pretul total este de : "<<pret<<endl;
			 }
			 else {
			 		cout<<"Ruscsacul nu a fost completat cu succes"<<endl;
		 	cout<<"pretul total este de : "<<pret<<endl;
			 	
			 }
		 }	
      }

 }
  return 0 ;
}