Detalii evaluare #18356970

Rezumat problemă

#3032 sufle

Sufle este un personaj cu urechi ascuțite, îndrăgostit de algoritmică. El are o antipatie profundă față de Aisimok, cel care îl tot provoacă să rezolve probleme folosind tot felul de formule. Sufle a botezat aceste probleme Emsiteanap. Astăzi Aisimok i-a aruncat tânărului Sufle o nouă provocare:

Pentru oricare două numere naturale se definește următoarea operație:

  • se consideră reprezentările în baza 2 pentru cele două numere;
  • se alege o poziție în reprezentarea binară a primului număr;
  • se schimbă cifra situată pe acea poziție în primul număr cu cifra aflată pe exact aceeași
    poziție în al doilea număr. (Observați cum Aisimok, obsedat de matematică, nu a folosit termenul bit, tocmai pentru a-l irita pe Sufle.)

Pentru un șir oarecare de numere naturale, se poate aplica de oricâte ori și asupra oricăror două numere operația descrisă mai sus. Scopul final este ca suma pătratelor numerelor din șir să ajungă la valoarea minim posibilă. Denumim costul șirului acestă valoare minimă.

Pentru a deveni și mai antipatic, Aisimok îi cere lui Sufle să calculeze aceast cost pentru mai multe subsecvențe ale unui șir dat. Costul unei subsecvențe este egal cu costul șirului definitit de subsecvența dată.

Cerința: Pentru un șir cunoscut și pentru mai multe subsecvențe date să se calculeze suma minimă a pătratelor numerelor din subsecvență după aplicare a operației descrise, de oricâte ori se consideră necesar și asupra oricăror numere din subsecvență.

Detalii

Problema sufle Operații I/O sufle.in/sufle.out
Limita timp 2 secunde Limita memorie Total: 256 MB / Stivă 256 MB
Id soluție #18356970 Utilizator Saulea Aless (AlexSaulea)
Fișier sufle.c Dimensiune 1.22 KB
Data încărcării 04 Noiembrie 2019, 16:54 Scor / rezultat 0 puncte

Evaluare


Mesaj compilare

sufle.c: In function 'main':
sufle.c:13:11: warning: ignoring return value of 'fscanf', declared with attribute warn_unused_result [-Wunused-result]
     fscanf(f,"%d%d",&n,&q);

           ^
sufle.c:17:15: warning: ignoring return value of 'fscanf', declared with attribute warn_unused_result [-Wunused-result]
         fscanf(f,"%d",&x);

               ^
sufle.c:29:15: warning: ignoring return value of 'fscanf', declared with attribute warn_unused_result [-Wunused-result]
         fscanf(f,"%d%d",&l,&r);

               ^
sufle.c:49:1: warning: control reaches end of non-void function [-Wreturn-type]
 }

 ^

Rezultat evaluare

Test Timp Mesaj evaluare Scor posibil Scor obținut
1 0 secunde Raspuns gresit. 8 0
2 0 secunde Raspuns gresit. 8 0
3 0 secunde Raspuns gresit. 7 0
4 0.024 secunde Raspuns gresit. 7 0
5 0.1 secunde Raspuns gresit. 5 0
6 0.384 secunde Raspuns gresit. 5 0
7 0.38 secunde Raspuns gresit. 5 0
8 Depășit Limita de timp depășită 5 0
9 0.048 secunde Raspuns gresit. 5 0
10 1.84 secunde Raspuns gresit. 5 0
11 Depășit Limita de timp depășită 10 0
12 Depășit Limita de timp depășită 10 0
13 Depășit Limita de timp depășită 5 0
14 Depășit Limita de timp depășită 5 0
15 0.392 secunde Raspuns gresit. 5 0
16 0.056 secunde Raspuns gresit. 5 0
Punctaj total 0

Cum funcționează evaluarea?

www.pbinfo.ro permite evaluarea a două tipuri de probleme:

  • probleme la care rezolvarea presupune scrierea unui program complet
  • probleme la care rezolvarea presupune scrierea unei secvențe de program - câteva instrucțiuni, o listă de declarații, una sau mai multe funcții, etc.

Problema sufle face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:

  • Programul sursă este compilat folosind compilatorul corespunzător. Dacă în urma compilării se obțin erori sau avertismente, acestea sunt afișate în această pagină.
  • Dacă programul a fost compilat, executabilul obținut va fi rulat, furnizându-i-se unul sau mai multe seturi de date de intrare, în concordanță cu restricțiile specifice problemei. Pentru fiecare set de date se obține un anumit punctaj, în raport cu corectitudinea soluției tale.

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ă.