Здравствуйте, помогите, пожалуйста, с задачей А(wrong answer 7 тест). Подскажите в чем моя ошибка. Спасибо.
#include <iostream>
#include <cmath>
#include <cstring>
#include <cstdio>
#include <vector>
#include <algorithm>
#include <math.h>
#define PI 3.14159265
#define eps 1e-18
using namespace std;
vector <int> a;
int k=1;
int q(int l,int r)
{
if(l>r)return 1000000000;
if(l==r)return a[l];
int mini=1000000000;
if(l<r)
{
if((l)%2!=0){mini=min(mini,a[l]);l++;}
if((r)%2==0){mini=min(mini,a[r]);r--;};
if(l<r)mini=min(mini,q(l/2,r/2));
}
return mini;
}
int main()
{
freopen("stupid_rmq.in","r",stdin);
freopen("stupid_rmq.out","w",stdout);
int i,j,l,m,mini,n,p,r;
cin>>n;
while(k<n)k*=2;
a.resize(4*n+1);
a.assign(sizeof(a),1000000000);
for(i=k;i<k+n;i++)cin>>a[i];
for(i=k+n-1;i>=1;i--)
a[i/2]=min(a[i/2],a[i]);
cin>>m;
for(i=1;i<=m;i++)
{
cin>>l>>r;
if(l>r)swap(l,r);
cout<<q(l+k-1,r+k-1)<<endl;
}
return 0;
}
UPD: Вопрос снят. Спасибо всем.