Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- typedef struct Item{
- int value;
- int weight;
- }Item;
- bool cmp(Item a, Item b){
- double r1 = (double)a.value/(double)a.weight;
- double r2 = (double)b.value/(double)b.weight;
- return r1>r2;
- }
- int main()
- {
- Item data[10];
- int n, knapsack, profit = 0;
- scanf("%d", &n);
- scanf("%d", &knapsack);
- for(int i = 0; i < n;i++){
- scanf("%d", &data[i].value);
- scanf("%d", &data[i].weight);
- }
- sort(data, data+n, cmp);
- // for(int i = 0; i < n;i++){
- // printf("%d ", data[i].value);
- // printf("%d\n", data[i].weight);
- // }
- for(int i = 0; i < n; i++){
- if(knapsack < data[i].weight){
- knapsack-=data[i].weight;
- profit+=data[i].value;
- }
- else{
- profit = profit + knapsack*((double)data[i].value/(double)data[i].weight);
- break;
- }
- }
- printf("Profit = %d\n", profit);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement