#include <bits/stdc++.h>
using namespace std;
const int nMax=2e5+5;
long long count_triples(vector<int> H)
{
int n=H.size(),a[3],b[3],cand[10],cnt,p,x,y,z;
long long ans=0;
bool ok=1,ok1=1;
for(int i=0; i<n; ++i)
{
if(H[i]>10)
ok=0;
if(i!=0 && H[i]<H[i-1])
ok1=0;
}
if(ok1)
{
for(int i=2; i<n; ++i)
{
if(i-H[i]>=0)
{
x=i-H[i];
z=i;
y=x+H[x];
a[0]=H[x],a[1]=H[y],a[2]=H[z];
b[0]=z-y,b[1]=z-x,b[2]=y-x;
sort(a,a+3);
sort(b,b+3);
if(a[0]==b[0] && a[1]==b[1] && a[2]==b[2])
ans++;
if(x+H[x]!=z-H[x])
{
y=z-H[x];
a[0]=H[x],a[1]=H[y],a[2]=H[z];
b[0]=z-y,b[1]=z-x,b[2]=y-x;
sort(a,a+3);
sort(b,b+3);
if(a[0]==b[0] && a[1]==b[1] && a[2]==b[2])
ans++;
}
}
}
}
else if(!ok)
{
for(int i=0; i<n-2; ++i)
for(int j=i+2; j<n; ++j)
{
cnt=0;
if(i+H[i]<j)
cand[++cnt]=i+H[i];
if(i+H[j]<j)
cand[++cnt]=i+H[j];
if(j-H[i]>i)
cand[++cnt]=j-H[i];
if(j-H[j]>i)
cand[++cnt]=j-H[j];
sort(cand+1,cand+cnt+1);
for(int q=1; q<=cnt; ++q)
if(q==1 || cand[q]!=cand[q-1])
{
p=cand[q];
a[0]=H[i],a[1]=H[j],a[2]=H[p];
b[0]=j-i,b[1]=p-i,b[2]=j-p;
sort(a,a+3);
sort(b,b+3);
if(a[0]==b[0] && a[1]==b[1] && a[2]==b[2])
ans++;
}
}
}
else
{
for(int i=0; i<n-2; ++i)
for(int j=i+1; j<min(i+10,n-1); ++j)
for(int p=j+1; p<min(i+11,n); ++p)
{
a[0]=H[i],a[1]=H[j],a[2]=H[p];
b[0]=j-i,b[1]=p-i,b[2]=p-j;
sort(a,a+3);
sort(b,b+3);
if(a[0]==b[0] && a[1]==b[1] && a[2]==b[2])
ans++;
}
}
return ans;
}
vector<int> construct_range(int M, int K)
{
vector<int> schema;
int idk[5];
idk[1]=1,idk[2]=1,idk[3]=2,idk[4]=3;
int cnt=0,x;
for(int i=0; i<M; ++i)
{
if(cnt==4)
cnt=0;
cnt++;
x=idk[cnt];
schema.push_back(x);
}
return schema;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |