Optymalizacja algorytmu `żaba i kamyczki`

0

Witam! Moglibyście zoptymalizować mi mój kod:

 
#include <iostream>
using namespace std;

int *tab;
int *ask;
int N, S, P;
int A=0;
int B=0;
int i=0;

int main()
{
	cin>>N>>S;
	N-=1;
	tab=new int[N];
	while(i<N)
	{
		cin>>tab[i];
		i++;
	}
	cin>>P;
	i=0;
	ask=new int[P];
	while(i<P)
	{
		ask[i]=0;
		cin>>A>>B;
		B--;
		A--;
		if(B==A)
		{
			ask[i]=0;
			A=0;
			B=0;
			i++;
			continue;
		}
		else if(A > B)
		{
			while(B<A)
			{
				int suma=0;
				while(suma<S && suma+tab[B]<=S)
				{
					suma+=tab[B];
					B++;
				}
				ask[i]++;
			}
			A=0;
			B=0;
			i++;
			continue;
		}
		else
		{
			while(A<B)
			{
				int suma=0;
				while(suma<S && suma+tab[A]<=S)
				{
					suma+=tab[A];
					A++;
				}
				ask[i]++;
			}
			A=0;
			B=0;
			i++;
			continue;
		}
	}
	i=0;
	while(i<P)
	{
		cout<<ask[i]<<endl;	
		i++;
	}
	delete[] ask;
	delete[] tab;
	int pause=0;
	cin>>pause;
	return 0;
}
0

Niewłaściwy algorytm, nie da się zoptymalizować, trzeba napisać od nowa.

0

Ale algorytm podaje odpowiednie rozwiązanie.

0

Napisz może co ten kod ma robić, skąd jest to zadanie, nazywaj na przyszłość porządnie wątki (jaka żabka??) i napisz coś więcej. Z tego kodu się w każdym razie wiele nie zrobi...

1 użytkowników online, w tym zalogowanych: 0, gości: 1