My issue
I HAVE SUBMIT THE CODE FOR TIME COMPLEXITY 0(100N), SO IT SHOULD RUN , THE ANSWER PROVIDED IS O(200N), BUT STILL I AM FACING TIME LIMIT EXCEEDED OUTPUT …
AUTHORS AND CHECKERS PLEASE LOOK THROUGH THE CODE FOR FINDING WHAT IS TAKING THAT MUCH TIME TO RUN THIS CODE…
My code
#include<bits/stdc++.h>
using namespace std;
int main(){
// ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
int t;cin>>t;
while(t--){
int n;cin>>n;
int a[n];
for(int i=0;i<n;i++){
cin>>a[i];
}
int ans=0;
for(int i=0;i<n;i++){
int c=0;
int x=max(a[i],101-a[i]);
for(int j=i+1;j<n;j++){
int z=abs(a[i]-a[j]);
if(z%2!=(j-i)%2||j-i>z){
continue;
}
if(z==j-i){
ans+=(j-i+1)*2;continue;
}
int k=(z-(j-i))/2;
int d1=i-k,d2=j+k;
if(d1>=0)ans+=2;
if(d2<n)ans+=2;
c++;if(c==x)break;
}
}
ans+=n;
cout<<ans<<"\n";
}
}
Problem Link: Count Triplets Practice Coding Problem