#1340
Rucsac
Într-un magazin sunt n
obiecte; pentru fiecare se cunoaște greutatea G
și valoarea V
. Un hoț intră în magazin având un rucsac ce poate transporta o greutate maximă GMax
. El va fura anumite obiecte, sau porțiuni de obiecte, astfel încât suma greutăților obiectelor furate să nu depășească GMax
.
Să se stabilească câștigul maxim pe care îl poate obține hoțul. Câștigul este egal cu suma valorilor obiectelor furate. Câștigul adus de o fracțiune de obiect este direct proporțional cu greutatea fracțiunii.
Problema | Rucsac | Operații I/O | tastatură/ecran |
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #53628146 | Utilizator | |
Fișier | rucsac.cpp | Dimensiune | 478 B |
Data încărcării | 06 Noiembrie 2024, 20:01 | Scor / rezultat | Eroare de compilare |
rucsac.cpp:1:1: error: 'include' does not name a type include <bits/stdc++.h> using namespace std; int main() { int n,gmax,v[1001],g[1001],i,j,aux; double c[1001],aux1,s=0; cin>>n>>gmax; for(i=1; i<=n; i++) { cin>>g[i]>>v[i]; c[i]=(double)v[i]/g[i]; } for(i=1; i<n; i++) for(j=i+1; j<=n; j++) if(c[i]<c[j]) { aux1=c[i]; c[i]=c[j]; c[j]=aux1; aux=g[i]; g[i]=g[j]; g[j]=aux; aux=v[i]; v[i]=v[j]; v[j]=aux; } i=1; do { if(g[i]<=gmax) { s+=v[i]; gmax=gmax-g[i]; } else { s+=gmax*c[i]; gmax=0; } i++; }while(gmax>0); cout<<s; return 0; } ^ rucsac.cpp: In function 'int main()': rucsac.cpp:1:120: error: 'cin' was not declared in this scope include <bits/stdc++.h> using namespace std; int main() { int n,gmax,v[1001],g[1001],i,j,aux; double c[1001],aux1,s=0; cin>>n>>gmax; for(i=1; i<=n; i++) { cin>>g[i]>>v[i]; c[i]=(double)v[i]/g[i]; } for(i=1; i<n; i++) for(j=i+1; j<=n; j++) if(c[i]<c[j]) { aux1=c[i]; c[i]=c[j]; c[j]=aux1; aux=g[i]; g[i]=g[j]; g[j]=aux; aux=v[i]; v[i]=v[j]; v[j]=aux; } i=1; do { if(g[i]<=gmax) { s+=v[i]; gmax=gmax-g[i]; } else { s+=gmax*c[i]; gmax=0; } i++; }while(gmax>0); cout<<s; return 0; } ^ rucsac.cpp:1:459: error: 'cout' was not declared in this scope include <bits/stdc++.h> using namespace std; int main() { int n,gmax,v[1001],g[1001],i,j,aux; double c[1001],aux1,s=0; cin>>n>>gmax; for(i=1; i<=n; i++) { cin>>g[i]>>v[i]; c[i]=(double)v[i]/g[i]; } for(i=1; i<n; i++) for(j=i+1; j<=n; j++) if(c[i]<c[j]) { aux1=c[i]; c[i]=c[j]; c[j]=aux1; aux=g[i]; g[i]=g[j]; g[j]=aux; aux=v[i]; v[i]=v[j]; v[j]=aux; } i=1; do { if(g[i]<=gmax) { s+=v[i]; gmax=gmax-g[i]; } else { s+=gmax*c[i]; gmax=0; } i++; }while(gmax>0); cout<<s; return 0; } ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Rucsac face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.