Cod sursa(job #3343557)
| Utilizator | Data | 27 februarie 2026 18:51:43 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.45 kb |
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int main(){
int n,g;
vector<pair<int,int>> a;
fin>>n>>g;
for(int i=0;i<n;i++){
int w,p;
fin>>w>>p;
a.push_back({w,p});
}
sort(a.begin(),a.end(), [](auto &x,auto &y){
return x.second > y.second;
});
int sumg=0,i=0,sum=0;
while(sumg+a[i].first <= g){
sum+=a[i].second;
sumg+=a[i++].first;
}
fout<<sum;
}
