infoarena

infoarena - concursuri, probleme, evaluator, articole => Arhiva de probleme => Subiect creat de: Filip Cristian Buruiana din Ianuarie 20, 2008, 14:13:17



Titlul: 637 Stergeri
Scris de: Filip Cristian Buruiana din Ianuarie 20, 2008, 14:13:17
Aici puteţi discuta despre problema Stergeri (http://infoarena.ro/problema/stergeri).


Titlul: Răspuns: 637 Stergeri
Scris de: Ionescu Robert Marius din Ianuarie 23, 2008, 17:08:00
am citit articolul in care este rezolvata problema si nu o inteleg :( ma ajuta si pe mine sa inteleg cum este solutia  :peacefingers: multumesc anticipat


Titlul: Răspuns: 637 Stergeri
Scris de: Stefan Istrate din Ianuarie 23, 2008, 17:17:37
Incearca sa pui problema invers. In loc sa te intrebi ce element e pe pozitia K dupa M stergeri, intreaba-te pe ce pozitie va ajunge al K-lea element dupa M inserari. Executi pasii pe dos. :)


Titlul: Răspuns: 637 Stergeri
Scris de: Mandu Dragos din Ianuarie 14, 2009, 20:33:12
salut am si yo o intrebare.....am citit si yo comentariul lui stef si vreau sa intreb ca dak o caut pe ce poz ajunge al k-lea dupa m inserari .....dak acel nr trb sa fie sters  ?  :?


Titlul: Răspuns: 637 Stergeri
Scris de: Andrei Misarca din Ianuarie 14, 2009, 20:47:00
Pai ideea este sa iei intervalele date in ordine inversa si sa verifici daca pozitia actuala se va schimba dupa inserarea intervalului curent (adica sa verifici daca pozitia actuala e mai mare decat limita inferioara a intervalului ce trebuie inserat). Daca da, atunci pozitia actuala se va deplasa la dreapta, daca nu, nu ;)


Titlul: Răspuns: 637 Stergeri
Scris de: Tirca Bogdan din Ianuarie 15, 2009, 12:39:46
Cum as putea sa dau un seek pana la sfarsitul fisierului (dupa ce citesc prima linie) si sa citesc treptat cate o linie de jos in sus?


Titlul: Răspuns: 637 Stergeri
Scris de: Pripoae Teodor Anton din Ianuarie 15, 2009, 20:43:37
Nu cred ca poti. Poti tine insa o stiva cu numerele, si accesezi in ordine inversa.

Spor :)


Titlul: Răspuns: 637 Stergeri
Scris de: Tirca Bogdan din Ianuarie 15, 2009, 23:37:26
Facui si o varianta recursiva dar tot am un timp cam marisor :-s.


Titlul: Răspuns: 637 Stergeri
Scris de: Pripoae Teodor Anton din Ianuarie 16, 2009, 00:07:02
Stiva e iterativa, deci e mai rapida decat varianta recursiva. Intotdeauna variantele iterative sunt mai rapide decat variantele recursive cu aceeasi complexitate :)



Titlul: Răspuns: 637 Stergeri
Scris de: Tirca Bogdan din Ianuarie 16, 2009, 15:55:01
Oricum am luat 100 cu ambele.Eu vroiam un timp mai bun dar...


Titlul: Răspuns: 637 Stergeri
Scris de: Vlad Schnakovszki din Ianuarie 18, 2009, 12:17:13
Pe sursa asta primesc Killed by Signal 11 pe 7 teste  ](*,) Am scos vectoru si tot aia imi da. 8 longuri ma gandesc ca imi intra in 16MB cat e limita de memorie. Pe site scrie ca Killed by Signal 11 ii legat in 99% din cazuri de alocarea memoriei... Mi se pare mie sau am nimerit in restu ala de 1% ?  :clover:
Cod:
#include <stdio.h>  
long i, j, t, x, y, n, m, k;   
bool v[200001];   
int main()   
{   
freopen("stergeri.in", "r", stdin);   
freopen("stergeri.out", "w", stdout);   
scanf("%ld%ld%ld", &n, &m, &k);   
for (i=1;i<=n;i++)   
    v[i]=1; 
for (i=1;i<=m;i++)   
    {   
   t=0;   
   scanf("%ld%ld", &x, &y); 
   for (j=1;t<x;j++)   
    if (v[j]==1)   
        t++;   
   for (j=t;t<=y;j++)   
    if (v[j]==1) 
        {   
         t++;   
         v[j]=0; 
         }   
   }   
t=0; 
for (i=1;t<k;i++)   
    if (v[i]==1)   
    t++; 
printf("%ld", i-1); 
fcloseall();   
return 0;   


Titlul: Răspuns: 637 Stergeri
Scris de: Emanuel Cinca din Ianuarie 18, 2009, 19:23:11
cred ca poti sa iei KBS11 si daca depasesti limitele unui vector... parca ai mai avut eroarea asta la inca o problema :-k


Titlul: Răspuns: 637 Stergeri
Scris de: Mihai Visuian din Ianuarie 27, 2012, 22:56:34
Citat
Pe sursa asta primesc Killed by Signal 11 pe 7 teste  Am scos vectoru si tot aia imi da. 8 longuri ma gandesc ca imi intra in 16MB cat e limita de memorie. Pe site scrie ca Killed by Signal 11 ii legat in 99% din cazuri de alocarea memoriei... Mi se pare mie sau am nimerit in restu ala de 1% ? 
Nu stiu dc dar bool-ul si mie imi mai facea figuri la unele proleme. Declara vectorul normal int.