#include <utility>
#include "locmin.h"
std::pair<int, int> find_locmin_point(int N, int M){
    N=1;
    long long st=1,dr=M,mij,a,b,c,i;
    long long mm[2][501];
    for(i=1;i<=500;i++){
        mm[1][i]=-1;
    }
    while(st<=dr){
        mij=(st+dr)/2;
        if(mij>1){
            if(mm[1][mij-1]==-1){
                mm[1][mij-1]=value(1,mij-1);
            }
            a=mm[1][mij-1];
        }
        else{
            a=1000000000000;
        }
        if(mm[1][mij]==-1){
                mm[1][mij]=value(1,mij);
            }
            b=mm[1][mij];
        if(mij<M){
            if(mm[1][mij+1]==-1){
                mm[1][mij+1]=value(1,mij+1);
            }
            c=mm[1][mij+1];
        }
        else{
            c=1000000000000;
        }
        if(a>b && c>b){
            return {1,mij};
        }
        else if(a>b){
            st=mij+1;
        }
        else if(c>b){
            dr=mij-1;
        }
        else{
            dr=mij-1;
        }
    }
    return {1,st};
}