Homework Introduction

快速读入

inline int read(){
   int x=0,f=1;
    char c=getchar();
    while(c<'0'||c>'9'){
        if(c=='-')
          f=-1;
        c=getchar();
    }
    while(c>='0'&&c<='9'){
        x=(x<<1)+(x<<3)+(c^48);
        c=getchar();
    }
    return x*f;
}

模板1(求...最大值的最小 )

//往左找答案,,mid不用加一,r=mid,l加一;
	while (l < r)
    {
        int mid = l + r >> 1;	//(l+r)/2或者l+(r-l)/2
        if (check(mid))  r = mid;    // check()判断mid是否满足性质
        else l = mid + 1;
    }

模板2(求...最小值的最大)

	//往右找答案,mid要加一,l=mid,r要减一;
	while (l < r)
    {
        int mid = l + r + 1 >> 1;	//(l+r+1)/2
        if (check(mid))  l = mid;
        else r = mid - 1;
    }

Problem

Please claim the assignment to see the problems.
Status
Live...
Problem
5
Open Since
2025-3-30 8:00
Deadline
2025-4-6 23:59
Extension
24 hour(s)