Diferente pentru problema/cbinput intre reviziile #1 si #16

Nu exista diferente intre titluri.

Diferente intre continut:

== include(page="template/taskheader" task_id="cbinput") ==
Poveste şi cerinţă...
Georgel are de rezolvat urmatoarea problema: Se da un sir de $N$ numere in *ordine crescatoare* cu valori intre $1$ si $K$. Fiecare valoare de la $1$ la $K$ apare *cel putin o data* in sir. Sa se gaseasca ultima aparitie in sir a fiecarei valori de la $1$ la $K$.
 
Georgel, incepator intr-ale informaticii, a rezolvat-o astfel (cod C++):
 
==code(cpp) |
...
int cautareBinara(int val) {
  int st = 1;
  int dr = N;
  while(st <= dr) {
    int mid = (st + dr) / 2;
    if(v[mid] == val) {
      while(mid <= N && v[mid] == val) {
        mid++; // <==
      }
      return mid - 1;
    } else if(v[mid] < val) {
      st = mid + 1;
    } else {
      dr = mid - 1;
    }
  }
  return -1;
}
...
for (int i = 1; i <= K; i++) {
  cout << cautareBinara(i) << endl;
}
...
==
 
Vrem sa ii dam o lectie pe care nu o va uita niciodata!
 
Fiind date $N$ si $K$, sa se gaseasca un sir valid de intrare astfel incat linia $9$ $(mid++)$ sa se execute de un numar maxim de ori.
h2. Date de intrare
Fişierul de intrare $cbinput.in$ ...
Fişierul de intrare $cbinput.in$ va contine pe prima linite un numar intreg $T$ reprezentand numarul de teste. Fiecare test va aparea pe o singura linie care va contine doua numere intregi $N$ si $K$.
h2. Date de ieşire
În fişierul de ieşire $cbinput.out$ ...
În fişierul de ieşire $cbinput.out$ se vor afla raspunsurile pentru cele $T$ teste. Raspunsul pentru fiecare test se va afla pe o singura linie care va contine $N$ numere reprezentand sirul cautat.
h2. Restricţii
* $... &le; ... &le; ...$
* $1 &le; T &le; 100$
* $1 &le; K &le; N &le; 1000$
h2. Exemplu
table(example). |_. cbinput.in |_. cbinput.out |
| This is some
  text written on
  multiple lines.
| This is another
  text written on
  multiple lines.
| 2
6 4
1 1
| 1 1 2 2 3 4
1
|
h3. Explicaţie
...
In primul test putem construi un sir astfel incat linia $9$ sa se execute de $6$ ori.
== include(page="template/taskfooter" task_id="cbinput") ==

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.