This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#define ll long long
#define endl "\n"
using namespace std;
ll n,a[1000007],ans,l,r;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
l=1,r=n;
for(int i=0;i<n&&l<r;i++){
if(a[l]==a[r]){
l++,r--;
}
else if(a[l]<a[r]){
if(a[l]+a[l+1]==a[r]){
ans++;l+=2;r--;
}
else if(a[l]+a[l+1]==a[r]+a[r-1]){
ans+=2;l+=2;r-=2;
}
}
else if(a[l]>a[r]){
if(a[r]+a[r-1]==a[l]){
ans++;r-=2;l++;
}
else if(a[l]+a[l+1]==a[r]+a[r-1]){
ans+=2;l+=2;r-=2;
}
}
}
cout<<ans;
return 0;
}
# | 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... |