infoarena

infoarena - concursuri, probleme, evaluator, articole => Arhiva de probleme => Subiect creat de: Andrei Grigorean din Decembrie 11, 2011, 15:01:00



Titlul: 1223 Mincinosi
Scris de: Andrei Grigorean din Decembrie 11, 2011, 15:01:00
Aici puteţi discuta despre problema Mincinosi (http://infoarena.ro/problema/mincinosi).


Titlul: Răspuns: 1223 Mincinosi
Scris de: Cosmin Rusu din Decembrie 11, 2011, 18:07:02
imi puteti spune unde gresesc??
in 2 dintre test imi da incorect :-k ](*,)

Cod:
#include<fstream>
using namespace std;
int nrraspuns[1000000];
int main()
{   int i, n, max=0,raspunsul=0, raspuns[1000000];
    ifstream in("mincinosi.in");
    ofstream out("mincinosi.out");
    in>>n;
    for(i=1;i<=n;i++)
   {in>>raspuns[i];
    nrraspuns[raspuns[i]]++;}
    for(i=1;i<=n;i++)
      if(i+nrraspuns[i]==n)
        if (max<nrraspuns[i])
        {max=nrraspuns[i];
         raspunsul=i;}   
    out<<max<<"\n";
    for(i=1;i<=n;i++)
       if (raspuns[i]==raspunsul)
             out<<i<<"\n";
    in.close();
    out.close();
    return 0;


Editat de admin: Foloseste tagul "code" atunci cand postezi surse.


Titlul: Răspuns: 1223 Mincinosi
Scris de: FMI Ciprian Olariu din Decembrie 11, 2011, 18:15:51
1.Foloseste vectori de lungime mai mare ca 1 milion,pune 1000005.
2.Vezi ca tu cauti in vectorul de frecvente numai pentru un raspuns i cuprins intre 1 si N,dar exista si raspunsuri 0

P.S. : incearca sa pui codul intre tag-uri specifice altadata


Titlul: Răspuns: 1223 Mincinosi
Scris de: Cosmin Rusu din Decembrie 11, 2011, 18:31:59
Mersi mult. Daca as fi fost mai atent luam 100 si la concurs. Sunt multumit oricum si asa.  :mrgreen:


Titlul: Răspuns: 1223 Mincinosi
Scris de: Stf Cic din Ianuarie 11, 2012, 11:35:39
Buna.Imi spune cineva de ce cand trimit solutia imi zice eroare de compilare,iar pe calculator merge ok!
MS!!


Titlul: Răspuns: 1223 Mincinosi
Scris de: Paul-Dan Baltescu din Ianuarie 11, 2012, 11:47:51
Pentru ca nu ai trimis fisierul cpp.


Titlul: Răspuns: 1223 Mincinosi
Scris de: Antonesi Florean Costin din Ianuarie 12, 2012, 22:43:35
Buna ziua.Imi poate spune cineva unde e greseala la sursa asta?.Iau 90 de pct la ea.Multumesc anticipat.
Cod:
#include<fstream>
#define dim 1000009
using namespace std;
int k[dim],i,n,max1,x,p[dim];
int main()
{   
    ifstream f("mincinosi.in");
    ofstream g("mincinosi.out");
    f>>n;
    for(i=1;i<=n;i++)
   {
f>>p[i];
k[p[i]]++;
}
    for(i=1;i<=n;i++)
      if(i+k[i]==n)
        if (max1<k[i])
        {
max1=k[i];
x=i;
}   
g<<max1<<"\n";
    for(i=1;i<=n;i++)
       if (p[i]==x)
g<<i<<"\n";
}


Titlul: Răspuns: 1223 Mincinosi
Scris de: George Marcus din Ianuarie 12, 2012, 23:12:54
Ai grija la "Răspunsul unui prieten este în intervalul [0, N]"


Titlul: Răspuns: 1223 Mincinosi
Scris de: Antonesi Florean Costin din Ianuarie 13, 2012, 11:21:55
Va multumesc mult de ajutor .Am reusit!! :banana: