Pagini recente » Cod sursa (job #103475) | Cod sursa (job #1839085) | Statistici Balan Catalin (Catal) | Cod sursa (job #2477540) | Cod sursa (job #1689524)
#include <vector>
#include <cstdio>
using namespace std;
vector<int> v[100006];
int i,j,x,n,ans,pi,ps;
long long Ans;
bool ap[1000006];
int main()
{
freopen("operatii.in", "r", stdin);
freopen("operatii.out", "w", stdout);
scanf("%d", &n);
for(i=1; i<=n; ++i)
{
scanf("%d", &x);
v[x].push_back(i);
ap[i]=1;
}
ans=1;
Ans=0;
for(i=0; i<=100000; ++i)
{
for(j=0; j<v[i].size(); ++j)
{
pi=v[i][j];
while(j+1<v[i].size() && v[i][j]+1==v[i][j+1])
{
ap[v[i][j]]=0;
++j;
}
ps=v[i][j];
ap[ps]=0;
if(!ap[pi-1] && !ap[ps+1]) --ans;
else if(ap[pi-1] && ap[ps+1]) ++ans;
}
Ans+=ans;
}
printf("%lld\n", Ans);
return 0;
}