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

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #25 : Noiembrie 13, 2009, 01:53:05 »

La .campion merge mai repede citirea in C pentru ca ei folosesc un compilator mai vechi (poate ar merge un upgrade?  Smile). Va trece un timp pana cand toate concursurile vor fi evaluate sub o versiune destul de noua de gcc. Daca timpul e strans si ai impresia ca sursa e la limita, cel mai sigur e sa parsezi.
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
tzipleatud
De-al casei
***

Karma: 104
Deconectat Deconectat

Mesaje: 117



Vezi Profilul
« Răspunde #26 : Noiembrie 30, 2011, 18:46:26 »

Salut! Poate cineva sa verifice testele sau sa imi spuna daca gresesc ceva, am trimis doar asta
Cod:
#include <fstream>

using namespace std;

ifstream f("panouri.in");
ofstream g("panouri.out");

int n,t,v[200001],i,x;

int main() {
    f >> n >> t;
    for (i=1;i<=n;i++) f >> v[i];
    for (i=1;i<=t;i++) {
        f >> x;
    }
    f.close();g.close();
    return 0;
}
pentru ca nu imi intra in timp si nici macar citirea de mai sus nu intra in timp pe ultimele teste.
Memorat
dariusdarius
Client obisnuit
**

Karma: 20
Deconectat Deconectat

Mesaje: 62



Vezi Profilul
« Răspunde #27 : Decembrie 25, 2012, 16:01:21 »

Ma poate ajuta si pe mine cineva? Iau 80p cu TLE pe testele 8 si 10, chiar daca am complexitatea O(N+T).

cod:
#include<fstream>
#include<iostream>
using namespace std;
int a[ 200005 ],f[ 20005 ],ff[ 20005 ],f_sol[ 20005 ];
ifstream in ("panouri.in");
ofstream out("panouri.out");
int main()
{
    int n,i,T,x,nr1=0,p,u,min=2000000;
    in>>n>>T;
    for(i=1;i<=n;i++)
        {in>>a[ i ];f_sol [ a [ i ] ]++;}
    for(i=1;i<=T;i++)
        {
            in>>x;
            ff [ x ] ++;
        }
    p=u=1;
    if(ff[a[1]]) nr1=1;
    else nr1=0;
    f[a[1]]++;
    while(u<=n)
        {
            while(p<=u && nr1==T)
                {
                if(u-p<min) min=u-p;
                f[a[p]]--;
                if(ff[a[p]] && f[a[p]]==0) nr1--;
                    p++;
                }
            while( u <= n && nr1 != T )
                {
                u++;
                f[ a [ u ] ]++;
                if(ff [ a [ u ] ] && f [ a [ u ] ] == 1)
                    nr1++;
                }
        }
    if(min!=2000000)
        out<<min<<endl;
    else
        out<<"-1"<<endl;
    return 0;
}

Daca un admin considera ca nu e bine ca am postat codul, sa il stearga Smile
Memorat
vendetta
De-al casei
***

Karma: 72
Deconectat Deconectat

Mesaje: 122



Vezi Profilul
« Răspunde #28 : Decembrie 25, 2012, 16:10:02 »

Pentru 100 ai nevoie de parsare.
Memorat
Pagini: 1 [2]   În sus
  Imprimă  
 
Schimbă forumul:  

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