Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<algorithm>
- typedef struct data
- {
- int value;
- int weight;
- }data;
- bool acompare(data lhs, data rhs)
- {
- return (double)lhs.value/lhs.weight > (double)rhs.value/rhs.weight;
- }
- data arr[100];
- int main()
- {
- int n,i;
- int k,tp=0;
- scanf("%d",&n);
- for(i=0;i<n;i++)
- {
- scanf("%d", &arr[i].weight);
- scanf("%d", &arr[i].value);
- }
- sort(arr, arr+n, acompare);
- scanf("%d",&k);
- for(i=0;i<n;i++)
- {
- while(k!=0)
- {
- if(arr[i].weight<=k)
- {
- tp+=arr[i].value;
- k-=arr[i].weight;
- }
- else
- {
- tp+=(arr[i].value/arr[i].weight)*k;
- break;
- }
- }
- }
- printf("%d\n",tp);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement