Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: 1216 Crescator  (Citit de 5385 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« : Octombrie 17, 2011, 15:57:22 »

Aici puteţi discuta despre problema Crescator.
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
S7012MY
Nu mai tace
*****

Karma: 26
Deconectat Deconectat

Mesaje: 648



Vezi Profilul
« Răspunde #1 : Octombrie 20, 2011, 16:56:37 »

o mica greseala :
Citat
numere naturale intregi
Memorat
informatician28
Strain
*

Karma: 6
Deconectat Deconectat

Mesaje: 27



Vezi Profilul
« Răspunde #2 : Noiembrie 10, 2011, 22:22:31 »

Nu cumva cea mai lunga secventa crescatoare este 1 2 4 5 ?  Very Happy
Memorat
informatician28
Strain
*

Karma: 6
Deconectat Deconectat

Mesaje: 27



Vezi Profilul
« Răspunde #3 : Noiembrie 10, 2011, 22:27:56 »

Scuze, am facut o mica confuzie, m-am lamurit!
Memorat
VisuianMihai
De-al casei
***

Karma: -9
Deconectat Deconectat

Mesaje: 121



Vezi Profilul
« Răspunde #4 : Ianuarie 22, 2012, 17:22:32 »

ce au special primele 3 teste? Iau incorect doar pe ele
Memorat
TheNechiz
De-al casei
***

Karma: 30
Deconectat Deconectat

Mesaje: 145



Vezi Profilul
« Răspunde #5 : Iunie 28, 2012, 11:54:15 »

Nu sunt sigur dacă am înțeles problema.  Confused
Pentru:
In:
Cod:
6
1 2 3 4 5 6
Out:
Cod:
21
6

Cele 21 de secvențe:

1
12
123
1234
12345
2
23
234
2345
23456
3
34
345
3456
4
45
456
5
56
6

 Huh
?

În fiecare șir sunt cel puțin n secvențe crescătoare?

in:
Cod:
5
5 4 3 2 1
out:
Cod:
5
1

in:
Cod:
 10
1 2 3 4 5 4 3 1 2 3
out:
Cod:
23
5
Confused
?
« Ultima modificare: Iunie 28, 2012, 15:23:51 de către Birisan Razvan » Memorat
Schumi
Client obisnuit
**

Karma: 36
Deconectat Deconectat

Mesaje: 74



Vezi Profilul
« Răspunde #6 : Iunie 28, 2012, 16:09:48 »

Da, ai minim n secvente crescatoare. E corect ce iti da pe acele teste.
Memorat
darkseeker
De-al casei
***

Karma: 29
Deconectat Deconectat

Mesaje: 106



Vezi Profilul
« Răspunde #7 : Iunie 28, 2012, 16:50:45 »

Cod:
l * l - (l * ( l - 1))/2 
In codul tau rezultatul intermediar (l * l) si rezultatul final poate depasi tipul int. Incearca sa folosesti long long.
Memorat
TheNechiz
De-al casei
***

Karma: 30
Deconectat Deconectat

Mesaje: 145



Vezi Profilul
« Răspunde #8 : Iunie 29, 2012, 12:23:41 »

Nu era asta sad . Sigur greșeala e la algoritm,dar nu găsesc niciun test pentru care să nu meargă.Mă puteți ajuta?  Embarassed
Memorat
Schumi
Client obisnuit
**

Karma: 36
Deconectat Deconectat

Mesaje: 74



Vezi Profilul
« Răspunde #9 : Iunie 29, 2012, 12:52:15 »

Pe testul
Cod:
10
1 2 3 5 4 4 3 1 2 6
iti pica solutia. Raspunsul e 20 4, iar tie iti da 19 4.
Memorat
TheNechiz
De-al casei
***

Karma: 30
Deconectat Deconectat

Mesaje: 145



Vezi Profilul
« Răspunde #10 : Iunie 29, 2012, 15:01:08 »

" 4  4 " este o secvență crescătoare? Huh


Am făcut o modificare și pentru testul tău obțin:
Cod:
20
4

Raised eyebrow
Dar tot iau 0 puncte.Mai poți să-mi dai un test?  Eh?
« Ultima modificare: Iunie 29, 2012, 17:18:04 de către Birisan Razvan » Memorat
Schumi
Client obisnuit
**

Karma: 36
Deconectat Deconectat

Mesaje: 74



Vezi Profilul
« Răspunde #11 : Iunie 30, 2012, 22:34:51 »

Algoritmul e bun. Aparent problema vine de la afisare. Tu dai enter dupa ce afisezi prima valoare si dupa o afisezi pe a doua. Trebuie sa afisezi cum arata si exemplul, adica sa pui spatiu intre cele doua valori. E aiurea ca se intampla asta. Ar trebui facut un eval pentru problema asta ca sa nu se mai intample chestii de genul.
Memorat
TheNechiz
De-al casei
***

Karma: 30
Deconectat Deconectat

Mesaje: 145



Vezi Profilul
« Răspunde #12 : Iunie 30, 2012, 22:37:16 »

Nu pot să cred că am greșit asta. Brick wall
Mulțumesc pentru ajutor. Thumb up
« Ultima modificare: Iulie 01, 2012, 07:57:00 de către Birisan Razvan » Memorat
Schumi
Client obisnuit
**

Karma: 36
Deconectat Deconectat

Mesaje: 74



Vezi Profilul
« Răspunde #13 : Iunie 30, 2012, 22:40:45 »

In enunt nu e preciat cum sa le afisezi, iar de obicei nu conteaza cum le afisezi atata timp cat sunt valori intregi.

LE: Gata, s-a modificat enuntul. Ok
Memorat
Sapientia
Strain
*

Karma: 0
Deconectat Deconectat

Mesaje: 29



Vezi Profilul
« Răspunde #14 : Aprilie 09, 2013, 10:34:24 »

Cod:
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("crescator.in");
ofstream g("crescator.out");
int main()
{
    int n,v[100000],i,max=1,s,j,nr;
    bool ok;
    f>>n;
    for(i=1; i<=n; i++)
        f>>v;
    f.close();
    s=n;
    for(i=1; i<=n-1; i++)
    {
        j=i;ok=1;nr=0;
           do
        {
            j++;
            if (v[j]>v[j-1])
              { s++; nr++;}
               else ok=0;
               if (nr>max) max=nr;
        }
        while (ok);
        }
        if (max>1) max++;
        g<<s<<" "<<max;
        g.close();
        return 0;
}
Obtin doar 40 de puncte..complexitatea e cu mult mai mica decat O(nxn).O mica idee cineva?
Memorat
SebiSebi
Nu mai tace
*****

Karma: 76
Deconectat Deconectat

Mesaje: 306



Vezi Profilul
« Răspunde #15 : Aprilie 09, 2013, 11:51:44 »

Complexitatea e O(n*n). Gandeste-te ce se intampla cand ai sirul 1,2,3, ... ,n-1,n.
Memorat
Sapientia
Strain
*

Karma: 0
Deconectat Deconectat

Mesaje: 29



Vezi Profilul
« Răspunde #16 : Aprilie 09, 2013, 12:12:00 »

Si cum as putea optimiza algoritmul?
Memorat
TheNechiz
De-al casei
***

Karma: 30
Deconectat Deconectat

Mesaje: 145



Vezi Profilul
« Răspunde #17 : Aprilie 09, 2013, 13:04:50 »

Cu putina matematica Whistle
Complexitatea e O(n*n). Gandeste-te ce se intampla cand ai sirul 1,2,3, ... ,n-1,n.
Memorat
BLz0r
Strain
*

Karma: -14
Deconectat Deconectat

Mesaje: 35



Vezi Profilul
« Răspunde #18 : Mai 15, 2013, 10:25:01 »

Imi da WA pe ultimul test, cineva vreo idee va rog?   Rolling Eyes
Memorat
otniel
Strain
*

Karma: -13
Deconectat Deconectat

Mesaje: 49



Vezi Profilul
« Răspunde #19 : Septembrie 14, 2013, 13:33:20 »

cum pot sa optimizez problema ca nici cum nu imi dau seama?
#include<iostream>
using namespace std;
#include<stdio.h>
FILE *f,*g;
long n,i,j,nr,lungime,maxim=1;
long a[100001];
int main()
{
    f=fopen("crescator.in","r");
    g=fopen("crescator.out","w");
    fscanf(f,"%ld\n",&n);
    nr=n;
    for(i=1;i<=n;i++)
        fscanf(f,"%ld",&a);
    for(i=1;i<=n;i++)
    {lungime=1;
        for(j=i+1;j<=n;j++)
            if(a[j]>a[j-1])
                {nr++;
                lungime++;}
            else
               break;
               if(j==n)
                i=n;
               if(lungime>maxim)
                maxim=lungime;
    }

   fprintf(g,"%d %d",nr,maxim);
}
Memorat
AlexandruValeanu
Vorbaret
****

Karma: 29
Deconectat Deconectat

Mesaje: 167



Vezi Profilul
« Răspunde #20 : Septembrie 14, 2013, 13:45:05 »

Nu prea ai ce optimiza socotind faptul ca tu ai o solutie de complexitate O(N^2), ce in aceasta problema nu poate lua 100p. Incearca sa te gandesti asa: daca ai o secventa de exemplu: 1,2,3; ai de fapt 6 secvente crescatoare: {1},{2},{3},{1,2},{2,3},{1,2,3}. Incearca sa deduci o formula de aici. Oricum daca nu reusesti ai solutiile oficiale aici: http://www.infoarena.ro/girls-programming-camp-2011/selectie/solutii; Succes!
Memorat
otniel
Strain
*

Karma: -13
Deconectat Deconectat

Mesaje: 49



Vezi Profilul
« Răspunde #21 : Septembrie 14, 2013, 14:02:28 »

am dedus formlua pana la urma si fara solutii dar multumesc oricum Very Happy
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

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