Pagini recente » Cod sursa (job #288023) | Cod sursa (job #2226149) | Cod sursa (job #3162370) | Cod sursa (job #1101269) | Cod sursa (job #853242)
Cod sursa(job #853242)
#include <fstream>
using namespace std;
unsigned int N, i, ok;
short w[5001], p[5001], aux, G, gr;
float v;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int main() {
f>>N>>G;
for (i=1; i<=N; i++)
f>>w[i]>>p[i];
do {
ok=1;
for (i=1; i<N; i++)
if ((float)p[i]/w[i]<(float)p[i+1]/w[i+1]) {
aux=p[i];
p[i]=p[i+1];
p[i+1]=aux;
aux=w[i];
w[i]=w[i+1];
w[i+1]=aux;
ok=0;
}
} while (!ok);
i=1;
while (gr+w[i]<G) {
gr+=w[i];
v+=p[i];
i++;
}
v+=(G-gr)*(float)p[i]/w[i];
g<<(int)v;
return 0;
}