pkpawan123 Ответов: 1

Как удалить ошибку TLE из этого кода . Что вызывает ошибку TLE в программе


Цитата:

Вам дана последовательность A1,A2,...,AN. Для каждого действительного я, звезда значение элемента а[I] является число действительных индексами J[__я и[Дж] делится на[Я].


я использовал сортировку слиянием вместо вставки, которую я использовал ранее, но все еще не влиял на ошибку TLE.

Что я уже пробовал:

#include<iostream>
#include<algorithm>
#include<vector>

using namespace std;
#include<stdio.h>         
void Merge(int *a, int low, int high, int mid)
{
	// We have low to mid and mid+1 to high already sorted.
	int i, j, k, temp[high-low+1];
	i = low;
	k = 0;
	j = mid + 1;
 
	// Merge the two parts into temp[].
	while (i <= mid && j <= high)
	{
		if (a[i] < a[j])
		{
			temp[k] = a[i];
			k++;
			i++;
		}
		else
		{
			temp[k] = a[j];
			k++;
			j++;
		}
	}
 
	// Insert all the remaining values from i to mid into temp[].
	while (i <= mid)
	{
		temp[k] = a[i];
		k++;
		i++;
	}
 
	// Insert all the remaining values from j to high into temp[].
	while (j <= high)
	{
		temp[k] = a[j];
		k++;
		j++;
	} 
 
	// Assign sorted data stored in temp[] to a[].
	for (i = low; i <= high; i++)
	{
		a[i] = temp[i-low];
	}
}
 
//  to split array into two parts.
void MergeSort(int *a, int low, int high)
{
	int mid;
	if (low < high)
	{
		mid=(low+high)/2;
		// Split the data into two half.
		MergeSort(a, low, mid);
		MergeSort(a, mid+1, high);
 
		// Merge them to get sorted output.
		Merge(a, low, high, mid);
	}
}


int main()
{
	int t,i,j,k,max[100011],T,n[10],A[100011],c[100011];
	cin>>t;
	
	for(i=0;i<t;++i)
	{ 
		cin>>n[i];
		T=n[i];	
				
		for(j=0;j<n[i];++j)
		{
			cin>>A[j];
		}		
				
		for(j=0;j<n[i];++j)
		{ 
		  c[j]=0;
			
			for(k=0;k<j;++k)
			{ 
			  if(A[j]!=0)
			  {
			  	if(A[k]%A[j]==0)
			    {c[j]++;
			
			    }
			  }			
		    }
		}
		
		 MergeSort(c,0,T-1);
		 max[i]=c[T-1];						
	}	
	
	for(i=0;i<t;++i)
	{
	    cout<<max[i]<<"\n";
	}
	return 0;
}

CPallini

Каковы ваши требования (вы сообщили только ограничения на входные данные)?

pkpawan123

Вам дана последовательность A1,A2,...,AN. Для каждого действительного i звездное значение элемента A[i] равно числу действительных индексов j

Patrice T

Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Чтобы каждый мог обратить внимание на эту информацию.

Вы должны дать ссылку на полное требование.
и еще раз покажите свой код.

pkpawan123

я должен вычислить количество допустимых индексов таких как Tha j

Patrice T

а что такое "действительный Индис" ?
Вы должны дать ссылку на полное требование.

CPallini

И все же ваши требования неполны. Пожалуйста, опубликуйте полную информацию.

pkpawan123

число действительных индексами J меньше I, и[Дж], разделенные[я]

pkpawan123

проверьте эту ссылку :-https://www.codeproject.com/Questions/5247742/This-is-a-codechef-coding-problem-it-is-doing-grea

1 Ответов

Рейтинг:
0

Patrice T

Цитата:
я не знаю, какая часть вызывает ошибку TLE

TLE-это ошибка ограничения по времени, это означает, что вся программа занимает слишком много времени для выполнения.
Другими словами, ваш алгоритм слишком сложен или слишком прост.

Существует более 1 решения данной проблемы, но мы не можем оценить, что делает ваша программа, потому что вы забыли сказать нам, какую проблему вы пытаетесь решить.