Informatică, întrebare adresată de dana03daniela, 9 ani în urmă

Se dă un șir P de lungime N cu elemente distincte din mulțimea {1,2..,N}. Pentru fiecare poziție i din șirul P se cere să aflați cea mai mică poziție j, astfel încât P[j] < P[i] și j < i. În caz că o astfel de poziție nu există se consideră -1 ca soluție.

Răspunsuri la întrebare

Răspuns de Rayzen
4
#include <iostream>

using namespace std;

int main()
{   
    int N; 

   cin>>N; 
   cout<<endl; 

   int P[N];
   for(int i=1;i<=N;i++) 
        {       
            cin>>P[i]; 
        }   

     cout<<endl;   

     for(int i=N;i>=1;i--)   
         {       
                for(int j=1;j<=N;j++)   
                       {           
                              if(P[j] < P[i] && j<i)     
                                  {               
                                       P[i]= j;           
                                       break;   
                                   }       
                              else if(j == i)         
                                   {             
                                       P[i]=-1;       
                                       break;       
                                   }             
                       }     
          }

  for(int i=1; i<=N;i++)   
     {  
       cout<<P[i]<<" ";
     }

}
Anexe:

Rayzen: Deci, consideri ca raspunsul meu e praf nu?
stassahul: Nu, nu spun de a tau, ma refer ca mi sa intimplat odata ca am scris un program si lam pus pe site, dupa care autorul a spus ca nu ii da 100 pcte si deja mia raportat si miau sters raspunsul. Totusi am aflat de la un moderator, sau pur si simplu a spus asa de a fi spus, ca daca sint cazuri exceptie de ex. prea lent lucreaza, intrebarea nu se sterge.
Rayzen: Mi se pare normal, de ce sa stergem raspunsul cuiva, care s-a chinuit la el ca sa il faca si sa ruleze corect exact ceea ce se cere, doar fiindca e mai lent cu 0,2 secunde...
Rayzen: Cine ti-a raportat raspunsul doar fiindca nu este de 100 puncte este un gunoi de om.
stassahul: Ei, era deja o situatie de demult, acum deja am inceput sa controlez mai intii pe siteuri dupa sa pun raspunsul, pentru orice eventualitate.
Rayzen: Da... e mai bine asa ca te ajuta si pe tine sa te perfectionezi si sa fii cat mai exact. Dar e ff greu sa ajungi la 100 puncte.
Rayzen: Mai ales la probleme ca aceasta.
stassahul: Deobicei mereu in principiu se primeste 100pcte, doar la problema de concurs sint exceptii. Asta si este o problema de concurs (Moisil clasa 9). In principiu pe brainly nu ai voie deloc sa pui probleme de concursuri/teste/examene xd.
Rayzen: Aaa
Rayzen: De fapt ai voie sa pui probleme de concursuri/teste/examene, dar nu atunci cand esti in timpul examenului.
Alte întrebări interesante