Submission #1266852

#TimeUsernameProblemLanguageResultExecution timeMemory
1266852Math4Life2020Room Temperature (JOI24_ho_t1)C++20
100 / 100
111 ms24024 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; using pii = pair<ll,ll>; const ll Nm = (1LL<<20); const ll E = 20; ll pfs[Nm]; ll ipfs[Nm]; int main() { ios_base::sync_with_stdio(false); cin.tie(0); ll N,T; cin >> N >> T; vector<ll> v0; for (ll i=0;i<N;i++) { ll a; cin >> a; a = a%T; v0.push_back(a); v0.push_back(a+T); } sort(v0.begin(),v0.end()); for (ll i=0;i<(2*N);i++) { ipfs[i]=v0[i]; //cout << v0[i] <<"\n"; } pfs[0]=0; for (ll i=0;i<(2*N);i++) { pfs[i+1]=pfs[i]+ipfs[i]; } ll ans = 8e18; ll m = N/2; //median index //i,i+1,i+2,...,i+m BELOW/AT //i+m+1,i+m+2,...,i+N-1 for (ll i=0;i<=N;i++) { // ll sum1 = pfs[i+m+1]-pfs[i]; // ll sum2 = pfs[i+N]-pfs[i+m+1]; // ll aval = (ipfs[i+m]*(m+1)-sum1)+(sum2-ipfs[i+m]*(N-m-1)); // ans = min(ans,aval); ans = min(ans,(v0[i+N-1]-v0[i]+1)/2); } cout << ans << "\n"; }
#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...