Submission #1341126

#TimeUsernameProblemLanguageResultExecution timeMemory
1341126vtnooRoom Temperature (JOI24_ho_t1)C++20
50 / 100
1 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;

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;
    }
    int r1=*max_element(all(md));
    int l1=*min_element(all(md));
    ll f=(r1+l1)/2;
    ll f1=0;
    L(i,0,n-1){
        f1=max(f1,abs(md[i]-f));
    }
    ll cut=(t+1)/2;
    ll l=0,r=0;
    L(i,0,n-1){
        if(md[i]>=cut){
            md[i]-=t;
        }
    }
    r1=*max_element(all(md));
    l1=*min_element(all(md));
    f=(r1+l1)/2;
    ll f2=0;
    L(i,0,n-1){
        f2=max(f2,abs(md[i]-f));
    }
    cout<<min(f1,f2)<<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...