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;
}