#include <bits/stdc++.h>
using namespace std;
#define int long long
#define fi first
#define se second
#define sz(x) ((int)x.size())
#define all(a) (a).begin(), (a).end()
#define inpvi(a, n) vi a(n); for(auto &i : a) cin >> i;
int iceil(int a, int b)
{
return (a+b-1)/b;
}
multiset<int> s;
int res()
{
return iceil(*s.rbegin() - *s.begin(), 2);
}
bool chmin(int &a, int b)
{
bool r = a > b;
a = min(a,b);
return r;
}
signed main()
{
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
/*
ins(1);
ins(2);
ins(4);
ins(3);
for(int i : l) cout << i << ' ';
cout << '\n';
for(int i : r) cout << i << ' ';
cout << '\n';
*/
int n,t;
cin >> n >> t;
vector<pair<int, bool>> a(n);
for(int i = 0; i < n; ++i)
{
cin >> a[i].fi;
a[i].se = (a[i].fi >= t);
a[i].fi %= t;
s.insert(a[i].fi);
//cerr << a[i].fi << ' ';
}
sort(all(a));
int ans = res();
for(int i = 0; i < n; ++i)
{
int x = a[i].fi;
if(a[i].se)
{
s.erase(s.find(x));
s.insert(x+t);
}
/*
for(int i : l) cerr << i << ' ';
cerr << '\n';
for(int i : r) cerr << i << ' ';
cerr << '\n';
*/
chmin(ans, res());
}
cout << ans;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |