Avatar of SunnyX
SunnyX
 asked on

Help to find mistake. c++

My output don't much with needed output. In first case, I received 7 instead of 6. Please help me find a bag. How should I change my code to receive correct output. Thx in advance.

// Count Subarrays
//Given an array A1, A2, ..., AN, count the number of subarrays of array A
// which are non - decreasing.
//A subarray A[i, j], where 1 ≤ i ≤ j ≤ N is a sequence of integers
// Ai, Ai + 1, ..., Aj.
//A subarray A[i, j] is non - decreasing if Ai ≤ Ai + 1 ≤ Ai + 2 ≤ ... ≤ Aj.
// You have to count the total number of such subarrays.

//Input
//
//The first line of input contains an integer T denoting the number of test cases.
// The description of T test cases follows.
//The first line of each test case contains a single integer N denoting the size
// of array.
//The second line contains N space - separated integers A1, A2, ..., AN
// denoting the elements of the array.

//Output
//
//For each test case, output in a single line the required answer.
//Constraints
//
//1 ≤ T ≤ 5
//1 ≤ N ≤ 105
//1 ≤ Ai ≤ 109
//Subtasks
//
//Subtask 1 (20 points) : 1 ≤ N ≤ 100
//Subtask 2 (30 points) : 1 ≤ N ≤ 1000
//Subtask 3 (50 points) : Original constraints
//Example
//
//Input :
//2
//4
//1 4 2 3
//1
//5
//
//Output :
//      6
//      1
//      Explanation
//
//      Example case 1.
//
//      All valid subarrays are A[1, 1], A[1, 2], A[2, 2], A[3, 3], A[3, 4], A[4, 4].
//      Note that singleton subarrays are identically non - decreasing.
//      Example case 2.
//
//      Only single subarray A[1, 1] is non - decreasing.

#include <iostream>

using namespace std; 

int main() {
	int t; 
	cin >> t; 
	while (t--) {

		int n, sum = 0; 
		cin >> n; 
		int * arr = new int[n];
		
		for (int i = 0; i < n; i++) {

			cin >> arr[i];
		}


		for (int i = 0; i < n; i++) {
			for (int j = 0; j < n; j++) {

				if (arr[i] == arr[j])
					sum++; 

				if (arr[i] - arr[j] == -1)
					sum++;
			}
		}

		cout << sum << endl; 
	}


	return 0; 
}

Open in new window

C++

Avatar of undefined
Last Comment
phoffric

8/22/2022 - Mon
phoffric

With a learning exercise like this, you should become adept at using the debugger. Please give it a try. If you use it, it will save years of your life.

Then if you have a specific question on your debugging result, don't hesitate to ask.

https://www.experts-exchange.com/articles/2688/C-C-Beginner's-Debugging-Guide-using-Visual-Studio-2008-Express.html
ASKER CERTIFIED SOLUTION
phoffric

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
Experts Exchange is like having an extremely knowledgeable team sitting and waiting for your call. Couldn't do my job half as well as I do without it!
James Murphy