Cod sursa(job #1135774)

Utilizator andutalaatAndu Talaat andutalaat Data 8 martie 2014 13:28:20
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include<stdio.h>
#include<algorithm>
using namespace std;
struct andu{int stanga,dreapta;};
andu v[1001];
bool sortare(andu a,andu b){
    if(a.dreapta>b.dreapta)
        return true;
    else
        return false;}
int main()
{
int greutate,n,i,s,p;
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
scanf("%d%d",&n,&greutate);
for(i=1;i<=n;i++){
    scanf("%d%d",&v[i].stanga,&v[i].dreapta);}
sort(v+1,v+n+1,sortare);
s=0;
p=0;
for(i=1;i<=n;i++){
    if(s<greutate){
    p=p+v[i].dreapta;
    s=s+v[i].stanga;}}
printf("%d",p);
return 0;
}