Pagini: 1 2 [3] 4 5 ... 7   În jos
  Imprimă  
Ajutor Subiect: 484 Numere 5  (Citit de 35957 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
catalin93
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 13



Vezi Profilul
« Răspunde #50 : Decembrie 19, 2008, 20:51:32 »

am si eu o intrebare pt aceasta problema...
Restrictii
0 < N ≤ 1000
Fratele lui Mircea schimba cel putin un numar in fisier.


daca exista un singur numar transformat in 0...atunci eu afisez de 2 ori acel numar sau odata? ca imi cere capetele intervalului transformat in 0 Wink
Memorat
Pepelea_Flaviu
Client obisnuit
**

Karma: 30
Deconectat Deconectat

Mesaje: 98



Vezi Profilul
« Răspunde #51 : Decembrie 19, 2008, 21:04:17 »

afisezi de doua ori (capetele intervalului .... si [x,x] e un interval)
Memorat
catalin93
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 13



Vezi Profilul
« Răspunde #52 : Decembrie 19, 2008, 21:20:44 »

aham mersi Wink oricum pbleme mele apar de la memorie... k imi da sigkill daca dau vectoru de bool la 1 mil... si iau 50 de puncte pt vectoru la 500.000  Brick wall vreo idee?
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #53 : Decembrie 19, 2008, 21:28:51 »

Citeste pe pagina anterioara. Se poate cu O(1) memorie.
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
zalman
Strain
*

Karma: -11
Deconectat Deconectat

Mesaje: 31



Vezi Profilul
« Răspunde #54 : Februarie 19, 2009, 14:26:04 »

Help!!
Pe evaluatorul oficial am luat 90 si aici 0.Un singur test corect.
Am un vector char de 64000 si cateva variabile long.
Pe majoritatea imi da wall time limit exceded si pe 2 memory limit exceded. Unde e problema?  Fighting
Memorat
c_e_manu
Nu mai tace
*****

Karma: 56
Deconectat Deconectat

Mesaje: 243



Vezi Profilul
« Răspunde #55 : Februarie 19, 2009, 14:38:16 »

iti trebuie vector de 500000, nu doar de 64000...si ai grija sa te foloseste de min(n*n, 500000)...
Memorat
zalman
Strain
*

Karma: -11
Deconectat Deconectat

Mesaje: 31



Vezi Profilul
« Răspunde #56 : Februarie 19, 2009, 14:53:52 »

cu vectorul de 500000 imi iese din timp!
Memorat
zalman
Strain
*

Karma: -11
Deconectat Deconectat

Mesaje: 31



Vezi Profilul
« Răspunde #57 : Februarie 19, 2009, 14:54:22 »

Am incercat si bool si char!
Memorat
gabor_oliviu1991
Nu mai tace
*****

Karma: 28
Deconectat Deconectat

Mesaje: 200



Vezi Profilul
« Răspunde #58 : Februarie 19, 2009, 15:12:17 »

incearca sa faci citirea cu scanf si afisarea cu printf... eu asa am scos 100. cu stringuri mie cel putin nu imi mergea
Memorat
zalman
Strain
*

Karma: -11
Deconectat Deconectat

Mesaje: 31



Vezi Profilul
« Răspunde #59 : Februarie 19, 2009, 15:14:28 »

cu scanf si printf am facut-o
Memorat
gabor_oliviu1991
Nu mai tace
*****

Karma: 28
Deconectat Deconectat

Mesaje: 200



Vezi Profilul
« Răspunde #60 : Februarie 19, 2009, 15:21:37 »

hmmm... defapt iti trebuie vector de 500 002. eu luam 50 de pct cu 2 MLE cu vector de 500 001... cat despre cautarea celor doua capete ale intervalului, daka faceam cu while avea incorect pe 2 teste. am schimbat in for si luam 100. poti incerca, nu asigur ca din aia... oricum problema ii la memorie, ca e foarte la limita
Memorat
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #61 : Februarie 19, 2009, 15:23:31 »

Vezi ca atunci cand verifici aparitia numerelor, sa verifici doar aparitia acelor numere mai mici decat 500.000. Tu probabil mergi pana la n*n. Mie mi-a mers si o rezolvare cu un vector char[] de 500.000 de elemente. Spor!

ps: Vezi ca problema se poate rezolva si fara vector. [hint: gandeste-te la suma totala din fisier]
Memorat
c_e_manu
Nu mai tace
*****

Karma: 56
Deconectat Deconectat

Mesaje: 243



Vezi Profilul
« Răspunde #62 : Februarie 19, 2009, 15:38:00 »

eu am folosit vector bool de 500000 si marcam sumele gasite pana la n*n sau mai mici decat 500000... apoi am parcurs acel vector o data de la inceput si o data de la sfarsit pentru a afla capetele intervalului [x,y] Smile
Memorat
gabor_oliviu1991
Nu mai tace
*****

Karma: 28
Deconectat Deconectat

Mesaje: 200



Vezi Profilul
« Răspunde #63 : Februarie 19, 2009, 15:47:11 »

@manu... dupa ce ai zis cum faci tu, acum probabil toti vor lua 100 fara problema. prea evident cum se rezolva problema. nu mai are farmec sa o gandesti, citesti forumul si gata. fi mai putin explicit  Very Happy
Memorat
zalman
Strain
*

Karma: -11
Deconectat Deconectat

Mesaje: 31



Vezi Profilul
« Răspunde #64 : Februarie 20, 2009, 12:55:21 »

Pana la urma mi-o mers cu un bool de 500004
Memorat
gabor_oliviu1991
Nu mai tace
*****

Karma: 28
Deconectat Deconectat

Mesaje: 200



Vezi Profilul
« Răspunde #65 : Februarie 20, 2009, 23:22:25 »

Citat
ps: Vezi ca problema se poate rezolva si fara vector. [hint: gandeste-te la suma totala din fisier]

nu prea vad cum as putea scoate capetele intervalului din suma totala. un hint ceva ?

LE: nu conteaza, am prins ideea
« Ultima modificare: Februarie 20, 2009, 23:32:26 de către gaboru corupt » Memorat
shnako
Client obisnuit
**

Karma: 3
Deconectat Deconectat

Mesaje: 50



Vezi Profilul
« Răspunde #66 : Februarie 24, 2009, 12:11:10 »

Se pare ca evaluatorul se face de ras la problema asta ...
Am trimis o sursa, am luat asa : http://infoarena.ro/job_detail/265716
Am mai trimis odata ACEEASI sursa, am luat asa : http://infoarena.ro/job_detail/265717
Am mai trimis inca odata ACEEASI sursa, am luat asa : http://infoarena.ro/job_detail/265718

Memorat
bogdan2412
Echipa infoarena
Nu mai tace
*****

Karma: 410
Deconectat Deconectat

Mesaje: 951



Vezi Profilul
« Răspunde #67 : Februarie 24, 2009, 13:13:26 »

Evaluatorul e foarte ok, cand o sa rulezi un program niciodata n-o sa-ti mearga exact la fel cand accesezi memorie prost. In programul tau ai doua while-uri in care iterezi dupa i si i poate sa depaseasca limitele vectorului. Depinde de sistemul de operare sa-ti opreasca programul cand o ia razna cum face al tau pe teste mari si momentul in care ti-l opreste depinde de ce zona de memorie accesezi prost.

Aici sursa ta ia 100, dupa ce corectezi while-urile: http://infoarena.ro/job_detail/265753

As a side note: poti sa iei memory limit exceded si cand trebuie sa iei killed by signal 11.
« Ultima modificare: Februarie 24, 2009, 13:19:09 de către Bogdan Tataroiu » Memorat
shnako
Client obisnuit
**

Karma: 3
Deconectat Deconectat

Mesaje: 50



Vezi Profilul
« Răspunde #68 : Februarie 24, 2009, 22:08:54 »

Evaluatorul e foarte ok, cand o sa rulezi un program niciodata n-o sa-ti mearga exact la fel cand accesezi memorie prost. In programul tau ai doua while-uri in care iterezi dupa i si i poate sa depaseasca limitele vectorului. Depinde de sistemul de operare sa-ti opreasca programul cand o ia razna cum face al tau pe teste mari si momentul in care ti-l opreste depinde de ce zona de memorie accesezi prost.

Aici sursa ta ia 100, dupa ce corectezi while-urile: http://infoarena.ro/job_detail/265753

As a side note: poti sa iei memory limit exceded si cand trebuie sa iei killed by signal 11.

Intr-adevar era gresita conditia in whileuri. Scuze ca m-am luat de evaluator, nu mi-am dat seama ca acolo iasa Smile Mersi pt sfat  Winner 1st place
Memorat
chibicitiberiu
Strain
*

Karma: 3
Deconectat Deconectat

Mesaje: 49



Vezi Profilul
« Răspunde #69 : Martie 08, 2009, 14:35:53 »

Salutare
Am rezolvat problema, dar am luat doar 50 puncte pentru ca pentru 2 teste raspunsul e incorect  Brick wall Brick wall Brick wall. De ce???
Cod:
#include <fstream>

using namespace std;

bool nr[250001];

int main()
{
        int n,i,j,temp;
        int min, max;
        ifstream in ("numere5.in");
        in>>n;

        for (i=0;i<n;i++)
            for (j=0;j<n;j++) {
                in>>temp;
                if (temp>0 && temp<250001) nr[temp]=true;
            }

        for (i=1;i<=n*n && i<250001;i++)
            if (nr[i]==false) {min=i; break;}
        while (nr[i]==false && i<250001) i++;
        max=i-1;

        in.close();
        ofstream out ("numere5.out");
        out<<min<<" "<<max;
        out.close();

        return 0;
}


UPDATE: m-am prins acum ca limita era 500 000 nu 250 000, ca eu aveam subiectele de la concurs, nu m-am uitat la cerinta de aici, dar problema e limita de memorie in care nu ma incadrez daca modific..
« Ultima modificare: Martie 08, 2009, 14:48:59 de către Chibici Tiberiu » Memorat
c_e_manu
Nu mai tace
*****

Karma: 56
Deconectat Deconectat

Mesaje: 243



Vezi Profilul
« Răspunde #70 : Martie 08, 2009, 14:42:21 »

Citat
Numerele schimbate de fratele lui Mircea sunt mai mici sau cel mult egale cu 500.000

tu ai pus doar 50.001

LE:
Cod:
bool nr[500001];

si ar trebui sa te incadrezi
« Ultima modificare: Martie 08, 2009, 15:11:05 de către Emanuel Cinca » Memorat
PavelRazvan
Strain
*

Karma: 11
Deconectat Deconectat

Mesaje: 25



Vezi Profilul
« Răspunde #71 : Martie 11, 2009, 16:44:58 »

Ce trebuie afisat pentru N=1 ?
Memorat
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #72 : Martie 11, 2009, 16:51:29 »

Exact ce iti cere problema.  Smile Fii atent si la a doua restrictie.  Smile
Memorat
PavelRazvan
Strain
*

Karma: 11
Deconectat Deconectat

Mesaje: 25



Vezi Profilul
« Răspunde #73 : Martie 11, 2009, 17:01:53 »

multumesc  Very Happy
Memorat
ucc_5
Client obisnuit
**

Karma: -11
Deconectat Deconectat

Mesaje: 82



Vezi Profilul
« Răspunde #74 : Aprilie 21, 2009, 21:22:15 »

Deci e incredibil, imi da MLE la 3 teste si programu e facut perfect. Nu inteleg de ce depasest in halul asta limita.
Macar daca era limita de 660 KB era bine.
Memorat
Pagini: 1 2 [3] 4 5 ... 7   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines