Afişează mesaje
Pagini: [1]
1  infoarena - concursuri, probleme, evaluator, articole / PreOJI 2016 / Răspuns: PreOJI 2016 : Februarie 27, 2016, 13:52:21
De ce 23?
2  Comunitate - feedback, proiecte si distractie / Feedback infoarena / Eroare de compilare : Februarie 18, 2016, 22:38:22
De ce urmatorul cod imi merge cand introduc datele manual,dar imi da eroare de compilare in evaluatorul de pe infoarena?
Multumesc anticipat!

http://www.infoarena.ro/job_detail/1605358

Cod:
#include <fstream>
 
using namespace std;
ifstream fin("arc.in");
ofstream fout("arc.out");
int v,c,n,a[10000],b[10000],i,prev,k,p=1,mx=4,poz,aux,s;
int main()
{fin>>v>>n;
if(v==1)
{for(i=1;i<=n;i++)
 {fin>>c;
 if(c!=prev)
 
    {
        prev=c;
 k++;
 }
 
 }
fout<<k;
}
else{
k=0;
fin>>c;
prev=c;
if(c!=prev)
    {
        a[p]=prev;
        b[p]=k;
        prev=c;
        k=0;
        p++;
        }
else if(c==prev)
k++;
for(i=2;i<=n;i++)
 
 
 
{fin>>c;
if(c!=prev)
    {
        a[p]=prev;
        b[p]=k;
        prev=c;
        k=1;
        p++;
        }
else if(c==prev)
{k++;}
}
a[p]=c;b[p]=k;
n=p;
while(mx>=3){mx=-1;
 
for(i=1;i<=n;i++){
        if(b>mx)
        {mx=b;poz=i;}}
 
if(mx>=3){
    a[poz]=0;b[poz]=0;
for(i=poz;i<=n-1;i++){
    aux=a;
a=a[i+1];
a[i+1]=aux;
aux=b;
b=b[i+1];
b[i+1]=aux;}
    n--;
for(i=1;i<=n-1;i++)
    {
    if(a==a[i+1]){
            b+=b[i+1];
    a[i+1]=0;
    b[i+1]=0;
    for(i=i+1;i<=n;i++)
        {
            aux=a;
a=a[i+1];
a[i+1]=aux;
aux=b;
b=b[i+1];
b[i+1]=aux;}
n--;
break;}
    }
}
else break;
}
if(n==0)fout<<"0";
else{
        for(i=1;i<=n;i++)
        s+=b;
fout<<s<<"\n";
        for(i=1;i<=n;i++){
    while(b!=0)
        {b--;
    fout<<a<<"\n";}}
}
}
return 0;
}
Pagini: [1]
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines