#4470
turnulete
Un elev dispune de n
cuburi, pentru fiecare cub cunoscându-se latura sa ci
. El dorește să construiască m
turnuri, fiecare turn conținând doar cuburi de aceeași dimensiune. Să se determine înălțimea maximă care se poate obține pentru fiecare din cele m
turnuri.
Problema | turnulete | Operații I/O | tastatură/ecran |
---|---|---|---|
Limita timp | 0.5 secunde | Limita memorie |
Total: 32 MB
/
Stivă 8 MB
|
Id soluție | #52465419 | Utilizator | |
Fișier | turnulete.cpp | Dimensiune | 611 B |
Data încărcării | 30 Septembrie 2024, 22:28 | Scor / rezultat | 100 puncte |
turnulete.cpp: In function 'int main()': turnulete.cpp:3:207: warning: unused variable 'y' [-Wunused-variable] using namespace std; int main() { ifstream fin("cb3.in"); ofstream fout("cb3.out"); long long int n,t,a[200001]; cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; } cin>>t; for(int i=1;i<=t;i++) { long long int x,y; cin>>x; long long int li=1,lf=n,mij,c1,c2; mij=li+(lf-li)/2; while(li<=lf) { if(a[mij]<=x) { li=mij+1; } else if(a[mij]>x) { lf=mij-1; } mij=li+(lf-li)/2; } c1=lf; li=1;lf=n; mij=li+(lf-li)/2; while(li<=lf) { if(a[mij]>=x) { lf=mij-1; } else if(a[mij]<x) { li=mij+1; } mij=li+(lf-li)/2; } c2=li; long long int s=0; s=(c1-c2+1)*x; cout<<s<<" "; } ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
1 | 0 secunde | OK. | 5 | 5 | ||
2 | 0 secunde | OK. | 5 | 5 | ||
3 | 0 secunde | OK. | 5 | 5 | ||
4 | 0 secunde | OK. | 5 | 5 | ||
5 | 0 secunde | OK. | 5 | 5 | ||
6 | 0 secunde | OK. | 5 | 5 | ||
7 | 0.028 secunde | OK. | 5 | 5 | ||
8 | 0.316 secunde | OK. | 5 | 5 | ||
9 | 0.368 secunde | OK. | 5 | 5 | ||
10 | 0.272 secunde | OK. | 5 | 5 | ||
11 | 0.32 secunde | OK. | 5 | 5 | ||
12 | 0.324 secunde | OK. | 5 | 5 | ||
13 | 0.404 secunde | OK. | 5 | 5 | ||
14 | 0.42 secunde | OK. | 5 | 5 | ||
15 | 0.4 secunde | OK. | 5 | 5 | ||
16 | 0.384 secunde | OK. | 5 | 5 | ||
17 | 0.284 secunde | OK. | 5 | 5 | ||
18 | 0.288 secunde | OK. | 5 | 5 | ||
19 | 0.312 secunde | OK. | 5 | 5 | ||
20 | 0.312 secunde | OK. | 5 | 5 | ||
Punctaj total | 100 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema turnulete 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ă.