제출 #1341164

#제출 시각아이디문제언어결과실행 시간메모리
1341164vtnooRoom Temperature (JOI24_ho_t1)C++20
35 / 100
2 ms344 KiB
#include <bits/stdc++.h>
#define L(i,j,k) for(int i=(j);i<=(k);i++)
#define R(i,j,k) for(int i=(j);i>=(k);i--)
#define all(x) x.begin(),x.end()
#define sz(a) ((int)a.size())
#define pb push_back
using namespace std;
typedef long long ll;

ll getDistance(ll a,ll b){
    if(b-a==1)return 1;
    ll d=(b-a)/2;
    if(d%2==0)return d;
    else if(d==1)return 1;
    else return d-1;
}

int main(){
    ll n,t;cin>>n>>t;
    vector<ll>a(n);
    L(i,0,n-1)cin>>a[i];
    vector<ll>md(n);
    L(i,0,n-1){
        md[i]=a[i]%t;
    }
    set<ll>left,right;
    sort(all(md));
    L(i,0,n-1)right.insert(md[i]);
    ll ans=getDistance(*right.begin(),*right.rbegin());
    R(i,0,n-1){
        left.insert(md[i]-t);
        right.erase(md[i]);
        ans=min(ans,getDistance(*left.begin(),*right.rbegin()));
    }
    cout<<ans<<endl;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...