Afişează mesaje
Pagini: [1] 2
1  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 1120 Inundatie : Aprilie 04, 2011, 11:46:38
Aveti careva vreo idee de ce imi da programul asta incorect? Stiu ca nu e complexitate optima, dar totusi, ar trebui sa ia cateva teste. Brick wall

Cod:
#include <cstdio>
#define LIM 90005
using namespace std;
FILE *f=fopen("inundatie.in", "r"), *g=fopen("inundatie.out", "w");
unsigned long long inu[LIM];
long m, n, i, j, x, k, max;
inline void citeste()
{
fscanf(f, "%ld%ld", &n, &m);
n=m*n;
for (i=1;i<=n;i++)
{
fscanf(f, "%ld", &x);
if (x)
{
for (j=2;j<=x;j++)
inu[j]+=j-1;
for (j=x+1;j<=n;j++)
inu[j]+=x;
}
}
max=inu[n];
}

inline void rezolva()
{
fscanf(f, "%ld", &k);
for (i=1;i<=k;i++)
{
fscanf(f, "%ld", &x);
if (x>n)
fprintf(g, "%lld\n", max);
else
fprintf(g, "%lld\n", inu[x]);
}
}

int main()
{
citeste();
rezolva();
fclose(f);
fclose(g);
return 0;
}
2  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 026 Energii : Martie 11, 2011, 11:25:36
Am pierdut un pariu, logic e sa nu trebuiasca sa fac ceva bun pentru mine  Smile
3  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 026 Energii : Martie 10, 2011, 12:37:34
Am pierdut un pariu Very Happy

Uitati-va aici:
http://infoarena.ro/job_detail/551091?action=view-source
4  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 496 Rj : Martie 08, 2011, 08:16:00
Mersi mult Robert! Nici macar nu m-am uitat dupa asa ceva Brick wall.
5  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 496 Rj : Martie 07, 2011, 12:43:13
Cu evaluatorul de la OJI iau 45 de puncte din 50. Cand pun sursa pe site primesc "Killed by signal 6(SIGABRT)." pe toate testele. Ma chinui deja de 3 ore sa gasesc ce nu-i convine Brick wall. Am incercat si cu Short int si tot aia primesc.

Fac o bere daca gaseste cineva ce nu-i bine read

Sursa e aici: http://infoarena.ro/job_detail/548318?action=view-source
6  infoarena - concursuri, probleme, evaluator, articole / Concursuri / Răspuns: OJI Liceu 2010 : Martie 06, 2010, 18:24:37
Nu mai pot ce ofticat sunt. Problema 2 n-am stiut-o si am lasat-o dar prima a fost super simpla (la XI-XII) . Dar nu inteleg ce naiba s-a intamplat ca am luat 0 puncte  Brick wall. M-am uitat la solutie si pare aproape copy-paste dupa solutia mea, difera doar numele la variabile si ceea ce probabil mi-a adus cele 0 puncte,

La fel si la mine. Prima am facut-o cu back si mergea pe tot ce am dat eu, inclusiv exemplul din text. A doua cu dinamica si la fel dadea bine pe toate exemplele care mi-au trecut prin cap. Ca sa ma trezesc ca iau 0 pe prima si 10 pe a doua  Brick wall

Pe viitor recomand mai multe teste in exemplu, poate chiar si accesul la evaluator (nu si la teste) in timpul concursului pentru ca pleci acasa cu gandu la 100+ si te trezesti ca mine  Brick wall Nici nu e logic, ca daca e sa creezi un program pentru tine, stii clar pe ce date vrei sa-ti functioneze, nu trebuie sa ghicesti cazurile particulare, care de obicei sunt date ca exemplu Fighting
7  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 826 Project management : Martie 05, 2010, 11:26:52
Am folosit Critical Path si iau 82 de puncte. Ideea e ca pe 6 teste nu imi da bine a doua valoare. Asta este partea care afla a doua valoare, daca reuseste cineva sa se prinda ce am gresit fac o bere ca pe mine deja ma termina psihic chestia asta. Brick wall
Sper ca nu e prea explicit, pentru ca nu poti lua puncte doar cu bucata asta. Fighting

Cod:
void critical_path(void)
{
t=0;
for (i=1;i<=n;i++)
check[i]=0;
for (i=1;i<=n;i++)
{
sw=0;
for (j=1;j<=n;j++)
if (m[j][i])
{
sw=1;
break;
}
if (!sw)
{
check2[i]=1;
check[i]=1;
st[++t]=i;
v[i].tfmax=cost;
v[i].tsmax=v[i].tfmax-v[i].c;
}
}

for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
if (m[st[i]][j]&&!check2[j])
{
st[++t]=j;
check2[j]=1;
}


for (i=1;i<=n;i++)
{
sw=0;
for (j=1;j<=n;j++)
if ((m[j][st[i]]&&!check[j])||check[st[i]])
{
sw=1;
break;
}
if (!sw)
{
min=MARE;
for (j=1;j<=n;j++)
if (m[j][st[i]]&&v[j].tsmax<min)
min=v[j].tsmax;
v[st[i]].tfmax=min;
v[st[i]].tsmax=v[st[i]].tfmax-v[st[i]].c;
check[st[i]]=1;
}
}
}
8  Comunitate - feedback, proiecte si distractie / Off topic / Vector : Februarie 26, 2010, 10:52:06
Se pot folosi functiile din biblioteca vector (push_back, insert, pop_back) la OJI/ONI ? Think
9  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 776 Kprime : Februarie 22, 2010, 12:27:48
Ce inseamna "Killed by signal 6(SIGABRT)." ? Brick wall
Mentionez ca pe MinGW merge perfect.
10  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 774 Jstc : Februarie 19, 2010, 10:40:05
Imi poate spune si mie cineva de ce iau incorect cu sursa asta ? Mi-am dat teste si merge bine. Stiu ca ia maxim 30 de pct.

Cod:
 ... 

Cod sters. Nu posta surse ca sa faca altii debug in locul tau. Posteaza eventual ideea, nu implementarea
11  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 006 Factorial : Ianuarie 15, 2010, 10:07:34
Ai gresit fisierele .

Vaaai aia era  Brick wall
Am luat 100  Winner 1st place
Mersi mult, sa speram ca nu fac ceva de genu asta la olimpiada ca ma spanzur cu sireturile  Whistle
12  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 006 Factorial : Ianuarie 14, 2010, 08:50:52
Dap.
13  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 006 Factorial : Ianuarie 11, 2010, 10:52:01
Are cineva idee de ce primesc Signal 11 SIGSEGV pe toate testele ?
Am un singur vector cu 15 elemente si impartiri cu 0 nu am.
Am incercat toate corectarile posibile si tot aia imi da.
In MinGW ruleaza fara nici o eroare sau vreun warning.
14  Comunitate - feedback, proiecte si distractie / Blog / Răspuns: Concursuri virtuale : Martie 21, 2009, 22:52:52
O problema care am observat-o:

Daca trimiti o sursa la un concurs la care nu ar trebui sa vezi punctajele, scorul o sa iti apara oricum in arhiva de probleme.

Ar trebui blocat accesul la Articles si Downloads, avand in vedere ca sunt destule probleme cu solutiile in aceste sectiuni. Deasemenea, ar trebui blocat accesul la sursele trimise anterior la aceeasi problema, pentru ca se poate trimite o sursa care stii sigur ca ia 100 de puncte foarte usor. Si ca sa nu afecteze pe toata lumea in timpul concursurilor, ar trebui sa se puna inscrieri iar in timpul concursului accesul userilor inscrisi sa fie restrictionat la aceste sectiuni. Bineinteles ca sunt altii cu mai multe conturi si pot intra pe ele in timpul concursurilor, dar mai mult nu stiu daca se poate face. Eventual blocarea pe ip a contului in timpul concursului, dar de aicia va pricepeti voi mai bine ca mine Smile
15  Comunitate - feedback, proiecte si distractie / Blog / Răspuns: Concursuri virtuale : Martie 21, 2009, 16:23:49
Inca o idee ar fi sa ordonati alfabetic lista din care alegi problemele. Eu unul am cautat de mi-au iesit ochii din cap in lista aia problemele care vroiam sa le pun.
16  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 033 Bool : Martie 21, 2009, 14:32:34
e1 AND e2   e1 si e2 - expresii logice
e1 OR e2   e1 si e2 - expresii logice
Nu trebuia sau acolo ?
17  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 232 Fold : Martie 19, 2009, 17:53:10
Este o greseala in tabelul de la exemplu. In dreapta ar trebui sa fie fold.out nu fold.in
18  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 293 Expresii min-max : Martie 19, 2009, 11:40:15
Ce contin testele 13 si 19? Iau WA pe ele si restu dau bine. Am folosit RPN(Reversed Polish Notation). Think
19  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 482 Pluton : Martie 13, 2009, 09:51:30
Eu inteleg ca vrei sa ma ajuti dar decat sa vorbesti aiurea mai bine ma lasi. Din moment ce a luat 100 pe evaluatorul de la OJI nu cred ca e chiar ineficienta. Si cred ca mi-am dat si eu seama ca testele nu-s grupate din plictiseala.

Nu vrei tu sa-ti revizuiesti tonul si sa lasi ironia asta inutila chiar daca esti stresat de faptul ca sambata e OJI? Personal nu cred ca e nimic vorbit aiurea in postul in care ti s-a raspuns.

Daca vrei sa fii ajutat poti incepe prin a fii mai explicit: WA sau TLE? Daca e WA deja putem sa nu mai stam de vorba. Considera ineficienta programului tau demonstrata. Daca e TLE cred ca e destul de clar ca nu respecti limitele impuse aici. Problemele care au fost date la OJI n-au fost puse copy-paste pe Infoarena, ci modificate, si unele teste chiar imbunatatite din cate stiu eu. Pur si simplu sunt probabil alte limite si alte teste. Nu vad nicio problema ca obtii punctaje diferite.

Concluzie: sursa ta nu e "chiar ineficienta", e doar destul de ineficienta.

Editat de admin: ... 
Si gata cu offtopicu ca nu cred ca isi are locul aici.

Deci are cineva idee ce ar putea avea sursa ?
20  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 482 Pluton : Martie 12, 2009, 09:51:26
Deci din nou m-a dezamagit evaluatorul de pe infoarena ... Evaluatorul de la OJI imi da 100 de puncte, iar cel de aici, desi imi accepta 4 teste pe restu imi da 0 si per total iau 0. De ce ?!

primesti 0 puncte pentru ca testele sunt grupate astfel incat sursele ineficiente sa nu primeasca nimic sau punctajul pe masura


Eu inteleg ca vrei sa ma ajuti dar decat sa vorbesti aiurea mai bine ma lasi. Din moment ce a luat 100 pe evaluatorul de la OJI nu cred ca e chiar ineficienta. Si cred ca mi-am dat si eu seama ca testele nu-s grupate din plictiseala.
21  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 482 Pluton : Martie 11, 2009, 09:54:39
Deci din nou m-a dezamagit evaluatorul de pe infoarena ... Evaluatorul de la OJI imi da 100 de puncte, iar cel de aici, desi imi accepta 4 teste pe restu imi da 0 si per total iau 0. De ce ?!

Cod:
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#define NR 4001
FILE *f, *g;
long i, n, k=0, sw, nr[NR], h, j, aux, max, sm;
char v[NR][11], t[NR][11], x[13];
void citire (void)
{
f=fopen("pluton.in", "r");
g=fopen("pluton.out", "w");
fscanf(f, "%ld", &n);
fscanf(f, "%c", &v[0][0]);
for (i=1;i<=n;i++) 
{
fgets(v[i], 12, f);
sw=strlen(v[i])-1;
if (!isdigit(v[i][sw]))
v[i][sw]='\0';
}
}

int main(void)
{
citire();
for (i=1;i<=n;i++)
{
nr[i]=0;
sw=strlen(v[i])-1;
for(j=0;j<=12;j++)
x[j]=0;
for(j=0;j<=sw;j++)
x[j]=v[i][j];
for(j=0;j<sw;j++)
for(h=j+1;h<=sw;h++)
if(x[j]>x[h])
{
aux=x[j];
x[j]=x[h];
x[h]=aux;
}
sw=0;
for (j=1;j<=k;j++)
if (strcmp(t[j], x)==0)
{
sw=1;
nr[j]++;
break;
}
if (!sw)
{
nr[++k]=1;
strcpy(t[k], x);
}
}
sw=0;
long s=0;
fprintf(g, "%ld", k);
for (i=1;i<=k;i++)
if(nr[i]>max)
{
s=1;
max=nr[i];
strcpy(v[0], t[i]);
}
else
if (nr[i]==max)
s++;
fprintf(g, "\n%ld\n%ld\n", max, s);
sm=strlen(v[0])-1;
for (i=0;i<sm;i++)
for (j=i+1;j<=sm;j++)
if (v[0][i]>v[0][j])
{
aux=v[0][i];
v[0][i]=v[0][j];
v[0][j]=aux;
}
sm=strlen(v[0]);
k=0;
for (i=1;i<=n;i++)
{
sw=strlen(v[i])-1;
if (sw+1==sm)
{
strcpy(x, v[i]);
for (j=0;j<sw;j++)
for (h=j+1;h<=sw;h++)
if (x[j]>x[h])
{
aux=x[j];
x[j]=x[h];
x[h]=aux;
}
if (!strcmp(v[0], x))
{
k++;
fputs (v[i], g);
fprintf(g, " ");
}
if (k==max)
break;
}
}
fcloseall();
return 0;
}
22  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 782 Densitate : Martie 03, 2009, 12:03:41
Am facut de 100 cu solutia lui jupanubv92 Yahoo!
Desi ar fi frumos sa aflu ce era gresit la cautarea binara .... Huh
23  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 782 Densitate : Martie 03, 2009, 09:35:41
Nu va luati de om daca vrea sa ajute  peacefingers
Seba iti multumesc ca vrei sa ma ajuti dar pe toate exemplele tale imi dau bine rezultatele...
O sa incerc si metoda fara binara cand ajung acasa dar ar fi dragut sa o corectam si pe cea cu binara pentru ca pe orice exemplu am intalnit pana acum imi da bine ...
Thanks guys  Very Happy
24  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 782 Densitate : Martie 01, 2009, 22:49:01
Seba eu tot am incercat sa fac cum zici tu dar tot aia da. Deci am stat cu Manu C. 2 zile sa vedem ce are si pauza... Postez acum toata sursa (sper ca e ok) ca deja am facut gauri in tastatura.
Cod:
#include <stdio.h>
FILE *f, *g;
long k=0, s[45550], i, j, n, q, x, y, t;
bool v[500005];

long cbin (long w, bool e)
{
   long x1, y1, mij;
   x1=1;
   y1=k;
   mij=(x1+y1)/2;
   while (x1<=y1)
    {
      if (s[mij]<=w&&s[mij+1]>w&&e)
      return mij;
      if (s[mij]>=w&&s[mij-1]<w&&!e)
      return mij; 
      if (w<s[mij])
      y1=mij-1;
      else
      x1=mij+1;
      mij=(x1+y1)/2;
      }
   return mij;
   }

void ciur(void)
{
   s[1]=2;
   k=1;
   for (i=3;i<=n;i+=2)
    if (!v[i])
      {
         s[++k]=i;
         if (i<=707)
      for (j=i;i*j<=n;j++)
          v[i*j]=1;
         }
   }

int main(void)
{
f=fopen("densitate.in", "r");
g=fopen("densitate.out", "w");
fscanf(f, "%ld%ld", &n, &q);
ciur();

for (i=1;i<=q;i++)
{
   if (i==3)
    i=3;
   fscanf(f, "%ld%ld", &x, &y);
   if (x<=2&&y>=s[k])
    {
      fprintf(g, "%ld\n", k);
      continue;
      }   
   fprintf(g, "%ld\n", cbin(y, 1)-cbin(x, 0)+1);
   }
fcloseall();
return 0;
}



Culmea e ca pe sursa asta iau testu 2 dar e prea inceata Neutral
Cod:
#include <stdio.h>
#include <math.h>
FILE *f, *g;
long k=0, s[41550], i, j, n, q, x, y, t;
bool v[500001];

void ciur(void)
{
   s[1]=2;
   k=1;
   for (i=3;i<=n;i+=2)
    if (!v[i])
      {
         s[++k]=i;
         if (i<=707)
      for (j=i;i*j<=n;j++)
          v[i*j]=1;
         }
   }

int main(void)
{
f=fopen("densitate.in", "r");
g=fopen("densitate.out", "w");
fscanf(f, "%ld%ld", &n, &q);
ciur();
for (i=1;i<=q;i++)
{
   fscanf(f, "%ld%ld", &x, &y);
   for (j=1;j<=k;j++)
    if (s[j]>=x)
      break;
   t=j;
   for (;j<=k;j++)
    if (s[j]>y)
      break;
   fprintf(g, "%ld\n", j-t);
   }
fcloseall();
return 0;
}

Cineva ceva idei ?  Brick wall
25  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 782 Densitate : Februarie 28, 2009, 15:07:33
Nu e aia problema, ms oricum Sad
Ideea e ca imi da bine pe orice test imi pot eu imagina... Se pare ca testul 2 e ceva caz particular ... Desi le-am incercat pe toate ... Alte idei ? Sad
Pagini: [1] 2
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines