#include<bits/stdc++.h>
using namespace std;
int in=0 , ex;
int sub(int a[] , int len)
{
// if(len<1)
// return 0;
if(len <= 0 )
return 0;
ex = sub(a,len-1);
cout<<"EX "<<ex<<"\n";
if(a[len-1] >a[len-2])
{
int t = a[len-1]>a[len-2];cout<<"T "<<t<<"\n";
in = 1+sub(a,len-1);
}
cout<<"IN "<<in<<"\n";
int max1 = max(in,ex);
cout<<"MAX "<<max1<<"\n";
return max1;
}
int main()
{
int len;
cin>>len;
int a[len];
for(int i = 0;i<=len-1;i++)
{
cin>>a[i];
}
int m = sub(a , len);
cout<<m;
}
[**HERE IS THE PROBLEM**](https://mirror.codeforces.com/problemset/problem/702/A)
There are many flaws in this code.
len <= 0
so, whenlen = 1
, the index ofa[len-2]
will become negative.in
is a global variable, you'll have to addin = 0
before the if statement.Even if you correct these flaws, the basic flaw is that this method will give you a subsequence instead of a subarray.
For example, for the input
1 2 3 10 4 5 6
, your output will be 6 (after correcting the mentioned 2 points).PLZ CAN U CORRECT MY FLAW AND GIVE IT TO ME I CAN"T UNDERSTAND IT PROPERLY BRO PLZ HELP I AM struggling for about 2-3 days now and not able to do this
actually i have just started DP PLZ UNDERSTAND AND HELP ME JUST REWRITE THE FUNCTION WITH REMOVING ALL FLAWS
https://www.wikihow.com/Turn-Off-Caps-Lock
I'd strictly recommend you to learn dp first or you might not understand my solution.
I am having some problem with same question i have applied non dp version same as yours but i am still getting wrong ans in test 5
heres the code import java.util.Scanner;
/** * A702 */ public class A702 {
}
My first ever Java Submission on any website, for you.
(Well actually 2nd, because 1st was compilation error.)
Change:
thanks man, yes i noticed that logical error after this post ,but thank you for your response i really appreciate it