Submission #1082018

#TimeUsernameProblemLanguageResultExecution timeMemory
1082018quangminh412Room Temperature (JOI24_ho_t1)C++14
50 / 100
1 ms348 KiB
#include <bits/stdc++.h>
using namespace std;

/*
  John Watson
  https://codeforces.com/profile/quangminh98

  Mua Code nhu mua Florentino !!
*/

#define faster() ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define ll long long

const int maxn = 5e5 + 9;
const int oo = 1e9;

int n, t;
int arr[maxn];

signed main()
{
	if (fopen("test.inp", "r"))
	{
		freopen("test.inp", "r", stdin);
		freopen("test.out", "w", stdout);
	}
	faster();

	cin >> n >> t;
	for (int i = 1; i <= n; i++) cin >> arr[i];
	sort(arr + 1, arr + n + 1);

	int mn = oo, mx = -oo;
	for (int i = 1; i <= n; i++)
	{
		int k = (arr[i] - arr[1]) / t;
		if (abs(arr[1] - (arr[i] - k * t)) < abs(arr[1] - (arr[i] - (k + 1) * t)))
			arr[i] = arr[i] - k * t;
		else
			arr[i] = arr[i] - (k + 1) * t;
		mx = max(mx, arr[i]);
		mn = min(mn, arr[i]);
	} 
	
	int res = oo;
	int mid = mx + mn >> 1;
	for (int i = mid - 1; i <= mid + 1; i++)
		res = min(res, max(i - mn, mx - i));
		
	cout << res << '\n';
	
	return 0;
}

Compilation message (stderr)

Main.cpp: In function 'int main()':
Main.cpp:46:15: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   46 |  int mid = mx + mn >> 1;
      |            ~~~^~~~
Main.cpp:24:10: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   24 |   freopen("test.inp", "r", stdin);
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
Main.cpp:25:10: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   25 |   freopen("test.out", "w", stdout);
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
#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...