Cod sursa(job #2396317)
| Utilizator | Data | 3 aprilie 2019 13:35:47 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.55 kb |
#include<iostream>
#include<fstream>
#include<algorithm>
using namespace std;
int n, g, c, p;
pair <int, int> a[100010];
int main ()
{
ifstream cin("rucsac.in");
ofstream cout("rucsac.out");
cin >> n >> g;
for (int i = 1; i <= n; i++)
{
cin >> a[i].second;
cin >> a[i].first;
a[i].first = a[i].first * -1;
}
sort (a+1, a+n+1);
for (int i = 1; i <= n; i++)
{
if (g - c >= a[i].second)
{
c += a[i].second;
p += a[i].first * -1;
}
else
break;
}
cout << p;
}
