Cod sursa(job #1129836)
Utilizator | Data | 28 februarie 2014 09:45:18 | |
---|---|---|---|
Problema | Problema rucsacului | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.72 kb |
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream a("rucsac.in");
ofstream b("rucsac.out");
int n, g, i, sw=0, sp=0, min1, min2;
a>>n>>g;
int w[n], p[n];
for (i=1; i<=n; i++)
a>>w[i]>>p[i];
for (i=1; i<=n; i++)
{sw=sw+w[i];
sp=sp+p[i];}
while (sw>g)
{
min1=p[1]; min2=1;
for (i=2; i<=n; i++)
if(p[i]<min1)
{
min1=p[i];
min2=i;
}
sw=sw-w[min2]; sp=sp-p[min2];
for (i=min2; i<n; i++)
{
p[i]=p[i+1];
w[i]=w[i+1];
}
}
b<<sp;
a.close(); b.close();
return 0;
}