Pagini recente » Cod sursa (job #1670333) | Rating Dinu Rares Mihai (DinuRares201) | Cod sursa (job #997251) | Cod sursa (job #1663210) | Cod sursa (job #2312500)
#include <bits/stdc++.h>
#define inf 10000000
using namespace std;
ifstream f ("numarare.in");
ofstream g ("numarare.out");
const int nmax=2e5+3;
int sol,v[nmax],d[nmax],k,n,c,r,mr,st,dr,sum;
int main()
{
ios::sync_with_stdio(false);
f>>k;
f>>v[++n];
for(int i=2;i<=k;++i)
{
v[++n]=inf;
f>>v[++n];
}
c=0;
r=0;
for(int i=2;i<=n;i+=2)
{
if(r>=i)
{
mr=2*c-i;
d[i]=min(d[mr],n-i);
}
st=i-1;
dr=i+1;
sum=v[st]+v[dr];
while(st>=1&&dr<=n&&v[st]+v[dr]==sum)
{
d[i]+=2;
st-=2;
dr+=2;
}
sol+=d[i]/2;
if(dr-2>r)
{
r=dr-2;
c=i;
}
}
g<<sol;
return 0;
}