Pagini recente » Cod sursa (job #948523) | Cod sursa (job #3234932) | Cod sursa (job #1540128) | Cod sursa (job #644231) | Cod sursa (job #271223)
Cod sursa(job #271223)
#include<stdio.h>
#define IN "secv.in","r",stdin
#define OUT "secv.out","w",stdout
int n,nr=1,poz,poz1;
int v[5020];
int stiva[5020];
void citire()
{
freopen(IN);
scanf("%d",&n);
for(int i=1;i<=n;++i)
scanf("%d",&v[i]);
}
void solve()
{
int e=2;
stiva[1]=v[1];
poz=1;
bool ok=true;
for(int i=2;i<=n;++i)
{
while(stiva[e-1]>v[i])
{
for(int j=1;j<i && ok!=false;++j)
if(v[i]==stiva[j])
ok=false;
if(ok==false)
break;
--e;
--nr;
}
ok=true;
if(stiva[e-1]<v[i])
{
if(e==1)
poz=i;
poz1=i;
stiva[e++]=v[i];
++nr;
}
}
}
void verific()
{
bool ok=false;
int cnr=nr;
for(int i=1;i<=n;++i)
{
for(int j=1;j<=cnr && ok!=true;++j)
if(v[i]==stiva[j])
ok=true;
else ok=false;
if(ok!=true)
++nr;
}
for(int i=poz;i<=poz1;++i)
if(stiva[i]!=v[i])
++nr;
}
void afisare()
{
freopen(OUT);
verific();
printf("%d",nr);
}
int main()
{
citire();
solve();
afisare();
return 0;
}