Chủ Nhật, 5 tháng 12, 2021

2021 THTB DANANG B4. Sắp xếp theo modul K


#include <bits/stdc++.h>
using namespace std;
#define ll long long
ll a[1000000],b[1000000],gay[1000000];
ll n,m,k;
ll tknp(ll l,ll r,ll k)
{
    ll res=0;
    while(l<=r)
    {
        ll m=(l+r)/2;
        if(b[m]<=k)
        {
            res=m;
            l=m+1;
        }
        else r=m-1;
    }
    return res;
}
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    freopen("sx.inp","r",stdin);
    freopen("sx.out","w",stdout);
    cin>>n>>m>>k;
    ll x=n%m;
   // cout<<x<<endl;
    a[0]=n/m;
    for(int i=1;i<=x;i++) a[i]=n/m+1;
    for(int i=x+1;i<=m-1;i++) a[i]=n/m;
   // for(int i=0;i<=m-1;i++) cout<<a[i]<<endl;
    b[0]=1;
    for(int i=1;i<=m-1;i++) b[i]=b[i-1]+a[i-1];
  //  cout<<endl;
  //  for(int i=0;i<=m-1;i++) cout<<b[i]<<endl;
    ll y=tknp(0,m-1,k);
 //   cout<<y<<endl;
    ll z=k-b[y]+1;
  //  cout<<z<<endl;
    if(y==0) y=m;
    ll r=y+(z-1)*m;
    cout<<r<<endl;
}

Không có nhận xét nào:

Đăng nhận xét

Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.